如果你有一个绑定到DataView的DataGridView(someDataTable.DefaultView)。
..并且从代码中对基础DataTable中的行执行了许多编辑。
是否可以推迟更新DataGridView,直到您决定完成编辑行为止?
实际上,DataGridView会在每次编辑后更新,如果您不需要即时反馈,那么如果您要一个接一个地更新DataTable中的许多行,那么效率很低,并且有点视觉刺激。
答案 0 :(得分:16)
为了能够临时暂停数据绑定,您必须在DataGridView
和DataView
之间添加BindingSource
。通过将RaiseListChangedEvents
的{{1}}属性设置为false,不会将基础源中的更改通知给BindingSource
。你可以拖拽从设计视图中的工具箱中删除DataGridView
组件。我试图通过设计器设置数据源,但它不起作用,所以我在代码中做到了:
Bindingsource
要暂停数据绑定,只需将bindingSource1.DataSource = someDataTable.DefaultView;
dataGridView1.DataSource = bindingSource1;
属性设置为false:
RaiseListChangedEvents
要恢复数据绑定,只需将bindingSource1.RaiseListChangedEvents = false;
设置为true并重置绑定,以便更新显示:
RaiseListChangedEvents