Datagridview 显示当前选中行

本文介绍了一个简单的.NET桌面应用程序中用于定位DataGridView中当前选中行的方法。通过保存选中行的索引和其在可视区域的位置,可以实现滚动条滚动前后选中行位置的保持不变。

csharp 复制代码
        /// <summary>
        /// 显示当前选中行
        /// </summary>
        private void ShowCurrentRows()
        {
            for (int i = 0; i < dgv_list.Rows.Count; i++)
            {
                if (dgv_list.Rows[i].Selected == true)
                {
                    RowsIndex = i;    //记录当前选中行
                    FirstDisplayedScrollingRowIndex = dgv_list.FirstDisplayedScrollingRowIndex; //记录当前选中行所在可视范围首行
                    break;
                }
            }
        }

 

                if (dgv_list.Rows.Count > 0)
                {
                    try
                    {
                        dgv_list.Rows[RowsIndex].Selected = true;
                        dgv_list.FirstDisplayedScrollingRowIndex = FirstDisplayedScrollingRowIndex;
                    }
                    catch
                    {
                        dgv_list.FirstDisplayedScrollingRowIndex = 0;
                        dgv_list.Rows[0].Selected = true;
                    }
                }
相关推荐
fujisheng66112 分钟前
FUI 导航实践:拆开 Layer、History、Coverage 与 Cache 的组合语义
c#·unity3d
淡海水2 小时前
10-05-高级-模式匹配-CSharp如何改变与数据结构的交互方式
数据结构·算法·c#·模式匹配
XiaoZhenHua983 小时前
C# WinForms + 西门子S7 + SQLite + EPPlus生产数据采集系统架构设计
系统架构·sqlite·c#
Lost of 程序猿3 小时前
船岸数据同步链路实战:SendFlag、单调版本号与断网三天后的续传
后端·c#·asp.net
cjp56021 小时前
012.UG二次开发,UG管道服务器与WPF管道通讯,传输JSON数据
c#
jiushidt1 天前
ArcGIS Pro Add‑in 打包流程详解
arcgis·c#·.net·arcgispro
geovindu2 天前
CSharp: Observer Pattern
开发语言·后端·观察者模式·设计模式·c#·.netcore·行为模式
软件黑马王子2 天前
20.Resources资源加载:基本实现
开发语言·前端框架·c#
张人玉2 天前
基于 C# / .NET 8 + Windows Forms + SQLite 的桌面银行业务演示系统——华夏示范银行管理系统
windows·sqlite·c#·.net
1314lay_10072 天前
C#调用Sql Server存储过程,并且使用传入表结构
数据库·经验分享·笔记·sqlserver·c#