c#当DataGridView更新时,滚动条会不断重置
本文关键字:滚动条 DataGridView 更新 | 更新日期: 2023-09-27 18:27:00
我正在按如下方式绑定我的网格:
dataGridView1.DataSource = new BindingSource();
dataGridView1.DataSource = tableData;
(tableData是自定义对象的ArrayList)
dataSource经常更新(它正在读取的文件大约每2毫秒更新一次)。所以当我滚动时,滚动条会在刷新时跳到它的原始位置。我刷新如下:
((CurrencyManager)dataGridView1.BindingContext[tableData]).Refresh();
(大约每1秒发生一次)
每次刷新数据网格视图时,如果不重置滚动条,我如何滚动?
看看这个。尽管问题是关于Winforms DataGrid的,但答案适用于DataGridView。您需要在重新加载之前存储FirstDisplayedScrollingRowIndex,并在重新加载之后恢复它。
我知道你发布这个问题已经有一段时间了,但我自己也遇到了这种问题。需要检查的一件事是,当您的网格更新时,确保您是而不是设置CurrentCell属性
以下代码将导致您的滚动位置重置。您告诉它查看特定的行,以及该行中的第一个单元格。
YourGrid.CurrentCell = YourGrid[0, row];
希望这能有所帮助。
DC