我想在DataGridView中显示大量数据(超过1000行和15列)。我使用BindingList作为DataGridView.DataSource。系统地修改了BindingList(15s) - 删除,修改或添加了一些行(不是很多,肯定少于所有行的数量)。
首次准备和显示DataGridView并对其进行修改并不如所需要的那样高效。我找到了一个简单的解决方案(以及一些类似的解决方案):
bindingList.RaiseListChangedEvents = false;
// modifying BindingList
bindingList.RaiseListChangedEvents = true;
bindingList.ResetBindings();
由于我添加了这些行,因此构建和刷新DataGridView的速度要快得多。但是这种解决方案有一个不可接受的缺点。刷新列表后,滚动位于列表顶部,选择将丢失。有没有解决方案,不仅可以快速修改DataGridView,还可以滚动停留在之前的位置(更新前)并且不更改行选择?
答案 0 :(得分:2)
保存选定的坐标,刷新后恢复它们。