首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对DataGridView c#排序后保持选定行的位置

DataGridView是C#中的一个控件,用于显示和编辑数据表格。对DataGridView进行排序后,保持选定行的位置可以通过以下步骤实现:

  1. 获取当前选定行的索引:使用DataGridView的SelectedRows属性可以获取当前选定行的集合,然后通过遍历集合获取每一行的索引。
  2. 对DataGridView进行排序:使用DataGridView的Sort方法可以对表格进行排序。可以指定排序的列和排序的方式(升序或降序)。
  3. 重新选定行:在排序完成后,根据之前获取的选定行索引,使用DataGridView的Rows属性和索引来重新选定行。

下面是一个示例代码:

代码语言:txt
复制
// 获取当前选定行的索引
List<int> selectedRowIndexes = new List<int>();
foreach (DataGridViewRow selectedRow in dataGridView1.SelectedRows)
{
    selectedRowIndexes.Add(selectedRow.Index);
}

// 对DataGridView进行排序
dataGridView1.Sort(dataGridView1.Columns["ColumnName"], ListSortDirection.Ascending);

// 重新选定行
foreach (int rowIndex in selectedRowIndexes)
{
    dataGridView1.Rows[rowIndex].Selected = true;
}

在这个示例中,假设DataGridView的名称为dataGridView1,要排序的列名为"ColumnName"。你可以根据实际情况修改代码。

DataGridView的排序功能可以用于各种场景,例如按照某一列的值进行排序,或者根据用户的需求动态排序。腾讯云提供了云数据库 TencentDB,可以用于存储和管理大量的数据,并且支持各种查询和排序操作。你可以通过腾讯云官网了解更多关于 TencentDB 的信息:TencentDB产品介绍

请注意,以上答案仅供参考,具体的实现方式可能因实际情况而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用C#开发数据库应用程序

1-3.C#中注释 C#注释和块注释与Java是完全相同,分别使用//和/*..*/,但文档注释与java中略有不同,使用"///",且文档注释每一都以"///"开头。...Console.WriteLine("排序成绩为:"); for(i=0;i<scores.Length;i++) { Console.Write("{0...DataGridView列是否移动 ReadOnly 指定单元格是否为只读 AllowUserToAddRows 是否允许用户增加行 false AllowUserToDeletRows 是否允许用户删除...(2)设置DataGridView属性和个列属性 (3)指定DataGridView数据源 c.如何保存修改数据 (1)增加"保存修改"按钮 (2)编写事件处理方法 d.常见错误...详细请看P214页 (1)创建窗体,设计窗体界面 (2)设置窗体中DataGridView属性 (3)填充数据集,显示数据 (4)将修改数据提交到数据库 (5)实现按性别筛选功能 8-

5.9K30
  • 可视化数据库设计软件有哪些_数据库可视化编程

    (新建一个“Windows应用程序”,然后在创建项目上右击,在弹出快捷菜单上选择“添加”→“新建项”命令,“模板”选择“数据集”); 第四,已创建数据集,单击“添加”按钮即进入数据集窗口,从服务器资源管理器中选择一个数据连接...如果数据源为 IBindingListView,并支持高级排序,则获取用于排序排序顺序信息多个列名。...(2)改变字段位置 单击“改变字段位置”按钮,可改变字段在数据表控件中位置顺序。 (3)设置字段属性 在“编辑列”对话框右侧为每个字段属性编辑器。...复选框为选中状态,则DataGridView控件允许记录行进行增、删、改操作。...(2)禁止记录增、删、改 取消“启用添加”“启用删除”“启用编辑”复选框选中状态,则DataGridView控件禁止记录行进行增、删、改操作。

    6.7K40

    【愚公系列】2023年11月 Winform控件专题 DataGridView控件详解

    例如,可以使用以下代码删除选定:foreach (DataGridViewRow row in dataGridView1.SelectedRows){ dataGridView1.Rows.Remove...]; // 更新数据库中数据}排序数据:使用DataGridViewSort方法来对数据进行排序。...设置完毕,保存CellStyle,关闭编辑器,运行程序即可看到DataGridView控件奇数和偶数已经按照设定样式显示出来了。...数据编辑:DataGridView控件可以允许用户对数据进行编辑。可以通过设置列属性来控制哪些列可以编辑、编辑类型和格式等。数据排序DataGridView控件可以允许用户对数据进行排序。...可以通过设置列属性来控制哪些列可以排序,以及排序方式等。数据过滤:DataGridView控件可以允许用户对数据进行过滤,只显示符合特定条件数据。

    1.7K11

    c#中在datagridview表格动态增加一个按钮方法

    c#中在datagridview表格动态增加一个按钮方法,如果想要这一套教程可以移步去这里 《期末作业C#实现学生宿舍管理系统》,对了最近我们有一个人工智能交流群,如果大家代码有问题,想交流可以进群...别急 我们在 dataGridView1_CellContentClick事件中添加方法 //点击第一button按钮事件 int index = dataGridView1...MessageBox.Show(aa.ToString()); //new Form5(aa.ToString()).Show(); 这样的话 我们就可以点击对应修改来获取到...id值 第三步: 相信大家也发现了,我们按钮都能触发,那这样肯定不能区分删除和修改,于是我们给控件命名作用就来了 我们在 dataGridView1_CellContentClick事件中修改下刚刚代码...: if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Modify") { //点击第一

    1.4K30

    C# 也可以连接和操作Access数据库

    以前就听说过C#可以通过ODBC进行连接其他类型数据库,一直也没怎么研究。最近啊,小编一次偶然机会,迫使不得不去使用Access数据库进行开发。当然,数据库操作其实一通百通,也没算费多少力气。...这里写一下总结一下,希望可以帮助C#操作Access数据库,有需求朋友。 当然文章有什么问题,请及时指正。一起交流探讨。...ExecuteNonQuery方法封装:(主要用户增删改) ExecuteScalar方法封装:(用户查询第一第一列) ? ExecuteDataReader方法封装(读取数据): ? ?...选择【系统DSN】进行选择Access驱动程序,进行添加操作。: 输入数据源名称,以及选择数据库文件位置。 ? ? 直到此时,数据源配置完毕。...Winform项目打开,添加DataGridView。为DatagridView添加指定数据源。 选择数据库,点击下一步: ? ? 选择数据集: 新建连接: ?

    4K20

    【转】基于C#WinForm中DataGridView控件操作汇总

    基于C#WinForm中DataGridView控件操作汇总 一、单元格内容操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1...// 设定 (0, 0) 为当前单元格 DataGridView1.CurrentCell = DataGridView1[0, 0]; 在整行选中模式开启时,你也可以通过 CurrentCell 来设定选定...列操作 ******* DataGridView 不显示最下面的新: 通常 DataGridView 最下面一是用户新追加(行头显示 * )。...********DataGridView 判断新增DataGridViewAllowUserToAddRows属性为True时也就是允许用户追加新场合下,DataGridView最后一就是新追加...("{0} 位置改变到 {1} ", e.Column.Name, e.Column.DisplayIndex); } ********DataGridView 新加行默认值设定

    5.2K50

    期末作业C#实现学生宿舍管理系统

    开发背景 完整代码下载地址:点我下载 优化移步: 《c#中在datagridview表格动态增加一个按钮方法》 《C#实现多窗口切换:Panel详细教程(亲测)》 文章还在更新,上次更新时间2022.../06/20 20:49 由于快期末考了,需要提交一份C#开发管理系统,这里选择可视化开发,管理系统无非就是增、删、查、改,可以使用接口完成查询、删除等等…这里直接用自带封装方法进行增删查改,本文做一个记录...(dataGridView.SelectedRows[0]); //删除一 //插入数据库同步 //配置数据库 string...这样在切换过程中就不会感觉框变化 ③设计可视化窗体(根据自己需求自己来) 我们添加一个datagridview,然后图中阴影部分右键【编辑列】 编辑列在添加id、学生姓名、宿舍号...窗体优化 在整个项目中窗体太多不美观,如果能实现点击按钮直接显示就能提升用户体验性,可参考这篇文章 C#实现多窗口切换:Panel详细教程(亲测) 项目完成优化后效果如下: 20220613_

    26230

    c# access数据库

    大家好,我是架构君,一个会写代码吟诗架构师。今天说一说c# access数据库[连接数据库代码],希望能够帮助大家进步!!!...做一个用VS2012C#连接Access数据库备忘, SQL数据库固然强大,有大微软强力技术支持,LINQ方便操作,但是如果写一个小程序对数据库方面没有什么大要求的话,将来在数据库方面就可以选择使用...声明:SqlDataReader 提供一种从 SQL Server 数据库读取只进流方式。无法继承此类。...} reader.Close(); sqlcon.Close(); 运行在红色位置报错:在没有任何数据时进行无效读取尝试 出现这种情况很明显是读取器运行到位置无数据流,无法执行数据输出...使用SqlDataReader实例Read()方法,

    4.4K20

    C#—— DataGridView控件各种操作总结(单元格操作,属性设置)

    // 设定 (0, 0) 为当前单元格 DataGridView1.CurrentCell = DataGridView1[0, 0]; 在整行选中模式开启时,你也可以通过 CurrentCell 来设定选定...列操作 *******DataGridView 不显示最下面的新: 通常 DataGridView 最下面一是用户新追加(行头显示 * )。...********DataGridView 判断新增DataGridViewAllowUserToAddRows属性为True时也就是允许用户追加新场合下,DataGridView最后一...; *******DataGridView 用户删除操作自定义: 1) 无条件限制删除操作。 默认时,DataGridView 是允许用户进行行删除操作。...("{0} 位置改变到 {1} ", e.Column.Name, e.Column.DisplayIndex); } ********DataGridView 新加行默认值设定 需要指定新加行默认值时候

    7.4K32

    Excel催化剂开源第13波-VSTO开发之DataGridView控件几个小坑

    为何要使用DataGridView而不是其他控件如ListBox、ListView、ComboBox之类?...用DataGridView最有优势之处在于,可以直接让DataTable直接绑定即可,同时带有丰富事件可与用户交互,并且保留有用户常用排序功能,筛选功能也容易实现,用Dataview来绑定数据源即可...使用DataGridView一些小坑 DataGridView内复选框状态改变激活事件 在Excel催化剂【工作表导航】功能中,有用到DataGridView存储工作表信息,需要和用户交互是用户点击复选框...} } DataGridView手工排序问题 DataGridView原生功能没有实现通过按住某行拖动方式实现不同行之间排序问题。...在Excel催化剂上使用场景为,工作表手工排序操作。

    1.1K50

    MultiRow中文版技术白皮书

    MultiRow设计思路 支持自由布局架构设计 传统表格类控件布局都是严格和列结构,通过合并单元格完成特殊布局需要。...保持开放性,支持第三方控件嵌入 同时,MultiRow单元格设计采用开放体系结构,支持第三方控件嵌入,保持了良好扩展性和对于特殊应用需求支持。...重视易用性 为了降低用户学习成本,MultiRow采用了和DataGridView相似的接口设计,对于曾经使用过Microsoft DataGridView或者熟悉DataGridView接口设计开发人员...和单元格虚拟机制更让大数据量内存消耗达到最低,让最终用户体验不一样速度。...如果MultiRow有兴趣,不妨试试~ http://www.grapecity.cn/powertools/event.htm

    1.3K50

    003 C# 巧做学习强国题库查询工具

    准备数据库 因为C#本身不具备存储功能,因此我们需要选择一个数据库软件。 这里,我推荐Access数据库。 理由有三点: 一是办公软件界面化操作,实操即所得。...查询按钮 这个控件需要修改地方很少,你可以简单了解下。 数据显示 数据显示则是使用了dataGridView控件。 不得不承认,这个控件特别像Access数据库界面。...引入命名空间 这次用到有五个必选命名空间。 准备查询 在创建数据库连接过程中,由于我使用是Access2016。 因此,我数据库引擎选是Microsoft.Jet.OleDb.4.0。...; //设置表格答案宽度 最后呢,你需要了解一下数据偶数背景色设置代码 int i1 = this.dataGridView1.Columns[0].Width =...这种效果类似于Excel超级表,推荐你这样设置。 对了,别忘了私信回复 源码,获得工具源代码。 分享经验不易,如果你有用,记得转发收藏~ 我是职场编码,我们下期再见!

    2.3K00

    C#学习之路(1)--数据库技术

    前言 在7月10日就要去扬州实习了,首先是为期2个月培训。一个月Java,一个月C#。在这一个月里面,准备梳理一下java和C#基础知识,同时也进行更深一步学习。...最近也一直在听八三夭一首,我不想改变世界,我只想不被世界改变。同时也自己未来充满着信心和憧憬。 ---- ADO.NET概述 ADO.NET是美国微软公司推出.NET平台中一种数据访问技术。...用于定义处理数据存储中数据命令,并且每一个命令都是Command对象一个引用,可以共享同一个数据源。...myTable = data.Tables["StudentTable"]; myTable.Rows[selectedId].Delete(); //指定数据集...EventArgs e) { DataTable myTable=data.Tables["StudentTable"]; //获取某一指定列

    1.9K40

    NPOI操作EXCEL

    ------------------------------------------------------------------------ 如果这篇文章你有帮助,就请多多点击在看,让更多朋友看到...,需要进C#交流群群请加,备注进群 ------------------------------------------------------------------------ 前言 1.整个Excel...表格叫做工作表:WorkBook(工作薄),包含叫页(工作表):Sheet;:Row;单元格Cell。...运行环境: 系统win10 office:2019 mainfrom中控件: button:2个 用来触发数据导入导出excel事件 lable: 2个 用来显示数据导入导出excel耗时 datagridview...,就请多多点击在看,让更多朋友看到,需要进C#交流群群请加z438679770,备注进群 -------------------------------------------------------

    1.7K41

    C#——写一个控件库

    摘要: C#自定义控件中属性(Property)、事件(Event)及一些相关特性(Attribute)总结 今天学习了下C#用户控件开发添加自定义属性事件,主要参考了MSDN,总结并实验了一些用于开发自定义属性和事件特性...指定默认属性,当用户在Form里单击这个控件时,将在属性浏览窗口中自动选定该属性: [DefaultProperty("BtnName")] 2)Browsable:设置控件某一属性或事件是否出现在“...BtnName设置了,下图红线部分为之前BtnName所在位置 ?...")] 或写在一方括号里,用逗号隔开: [Browsable(true), Description("设置按钮上显示文字")] 在“属性”界面中看到说明文字,效果如下: ?...使用了Hidden,即使在FormMain.Designer.cs里手动把上面那行赋值代码加上,这行代码在程序重新编译还是会消失。

    1.8K41
    领券