加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – DataGridView控件在属性更改时滚动到顶部

发布时间:2020-12-15 08:08:38 所属栏目:百科 来源:网络整理
导读:在 Windows窗体上,我有一个DataGridView控件,其中包含由数据源(数据绑定)填充的记录.每条记录都呈现一个数据对象. 并非所有行都显示:例如,前10行.因此用户可以向下滚动以查看其他记录.没什么特别的. 但是当用户在滚动后点击一行时,行对象的数据属性正在改变
在 Windows窗体上,我有一个DataGridView控件,其中包含由数据源(数据绑定)填充的记录.每条记录都呈现一个数据对象.

并非所有行都显示:例如,前10行.因此用户可以向下滚动以查看其他记录.没什么特别的.

但是当用户在滚动后点击一行时,行对象的数据属性正在改变,这会刷新DataGridView并 – 它“滚动”到datagrid的顶部(可能整个DataGridView都在刷新).这是不可取的.

如何在记录更新期间保留当前滚动位置?

解决方法

您可以使用DataGridView的 FirstDisplayedScrollingRowIndex属性.

它获取/设置DGV上显示的第一行的索引.

像这样用它:

int rowIndex = dataGridView.FirstDisplayedScrollingRowIndex;

        // Refresh your DGV.

        dataGridView.FirstDisplayedScrollingRowIndex = rowIndex;

当然,如果对您的DGV进行排序或添加/删除行,这将无法正常工作(您确实说过您正在更新,所以也许您没事).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读