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;
                    }
                }
相关推荐
csdn_aspnet8 小时前
C# 在逗号分割的字符串中判断是否包含指定字符
c#·正则·linq·string·regex·contains
宝桥南山8 小时前
Blazor Web Assembly - 体验一下Authentication State从Server共享给Client
microsoft·微软·c#·asp.net·.net·.netcore
淡海水10 小时前
02-06-历史-托管GC机制-垃圾回收如何影响数据结构选择
c#·编译·gc·机器码
longxiaozhang620 小时前
C# static:静态成员,小白也能看懂
开发语言·c#
longxiaozhang620 小时前
C#继承:让代码少写一点,偷懒的好方法
开发语言·c#
rockey62721 小时前
C#脚本引擎之AScript与DynamicExpresso对比
c#·.net·script·动态脚本
Vae_Mars1 天前
C#中的delegate委托
开发语言·c#
公子小六2 天前
基于.NET的Windows窗体编程之WinForms音频控件
windows·microsoft·c#·.net·音视频·winforms
绿浪19842 天前
c# 结构体 能不能直接封送检测
开发语言·c#
新手unity自用笔记2 天前
unity基于Socket的网络学习
网络·网络协议·学习·unity·c#·游戏引擎