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;
                    }
                }
相关推荐
阿蒙Amon1 小时前
C#常用类库-详解YamlDotNet
开发语言·c#
Sunsets_Red4 小时前
乘法逆元的 exgcd 求法
c++·学习·数学·算法·c#·密码学·信息学竞赛
唐青枫4 小时前
深入理解 C#.NET TaskScheduler:为什么大量使用 Work-Stealing
c#·.net
人工智能AI技术5 小时前
Claude 3.7 企业版私有化部署技术验证:与 .NET 实战方案
人工智能·c#
呆子也有梦5 小时前
思考篇:积分是存成道具还是直接存数值?——ET/Skynet 框架下,从架构权衡到代码实现全解析
游戏·架构·c#·lua
我是唐青枫5 小时前
深入理解 C#.NET Task.Run:调度原理、线程池机制与性能优化
性能优化·c#·.net
阿蒙Amon6 小时前
C#常用类库-详解NModbus4
开发语言·c#
LFly_ice6 小时前
C# Web 开发从入门到实践
开发语言·前端·c#
猹叉叉(学习版)6 小时前
【ASP.NET CORE】 14. RabbitMQ、洋葱架构
笔记·后端·架构·c#·rabbitmq·asp.net·.netcore
江沉晚呤时6 小时前
基于 AssemblyLoadContext 的 .NET 插件化架构设计与实现
开发语言·c#·.net