前端之家收集整理的这篇文章主要介绍了
c# – DataGridView控件在属性更改时滚动到顶部,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在
Windows窗体上,我有一个DataGridView控件,其中包含由数据源(数据绑定)填充的记录.每条记录都呈现一个数据对象.
并非所有行都显示:例如,前10行.因此用户可以向下滚动以查看其他记录.没什么特别的.
但是当用户在滚动后点击一行时,行对象的数据属性正在改变,这会刷新DataGridView并 – 它“滚动”到datagrid的顶部(可能整个DataGridView都在刷新).这是不可取的.
如何在记录更新期间保留当前滚动位置?
您可以使用DataGridView的
FirstDisplayedScrollingRowIndex属性.
它获取/设置DGV上显示的第一行的索引.
像这样用它:
int rowIndex = dataGridView.FirstDisplayedScrollingRowIndex;
// Refresh your DGV.
dataGridView.FirstDisplayedScrollingRowIndex = rowIndex;
当然,如果对您的DGV进行排序或添加/删除行,这将无法正常工作(您确实说过您正在更新,所以也许您没事).
原文链接:https://www.f2er.com/csharp/100873.html