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;
                    }
                }
相关推荐
暴走约伯7 小时前
【VFX工具链源码拆解 09】终极工业化闭环:基于 ID 规则驱动的全自动场景建档、骨骼挂载与男转女场景迁移
unity·c#·游戏引擎·材质
用户788477316341 天前
WinForms 迁移 WPF:Upgrade Assistant 覆盖 30%,剩下 70% 我手写了六周
c#
寂寞的船1 天前
【Unity知识速递】第13期 Unity 内存泄漏排查实战:从 Memory Profiler 到 Lua 引用泄漏的生产级全链路诊断
unity·junit·c#·游戏引擎·lua
用户3721574261352 天前
C# 提取 PDF 附件:包括文档附件和页面注释附件
c#
寂寞的船2 天前
【Unity Bug挑战】第12期 Awaitable 二次 await 死锁之谜 —— 为什么同一个异步操作等两次就卡死?
unity·c#·游戏引擎·bug
huaqianzkh3 天前
WinForm C#:循环修改控件UI闪烁卡顿?SuspendLayout / ResumeLayout 与 BeginUpdate 优化
开发语言·ui·c#
用户3721574261354 天前
C# 实现 Excel 单元格保护:锁定公式并允许编辑指定区域
c#·ai编程·编程语言
公子小六4 天前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
三雷科技4 天前
第6章第4节:自定义分词器
开发语言·c#
zhanghaha13144 天前
C# 系列教程_12 字符串 string 保姆级系统教程(面向新手,大量示例 + 原理讲解)
开发语言·数据库·c#