1

我想在 DataGridView 中显示大量数据(超过 1000 行和 15 列)。我使用 BindingList 作为 DataGridView.DataSource。BindingList 被系统地修改(15 秒) - 一些行被删除、修改或添加(不多,肯定少于所有行的数量)。

首次准备和显示 DataGridView 以及对其进行修改都没有所需的效率。我找到了一个简单的解决方案(还有一些类似的):

bindingList.RaiseListChangedEvents = false;
// modifying BindingList
bindingList.RaiseListChangedEvents = true;
bindingList.ResetBindings();

由于我添加了这些行,DataGridView 的构建和刷新速度更快。但是这种解决方案有一个不可接受的缺点。刷新列表后,滚动在列表顶部移动,选择丢失。是否有任何解决方案不仅可以快速修改 DataGridView 还可以滚动保持在以前的位置(更新前)并且不更改行选择?

4

1 回答 1

2

保存选定的坐标并在刷新后恢复它们。

于 2011-07-28T22:12:32.933 回答