xyz*_*xyz 9 .net c# ado.net datagridview winforms
如果你有一个绑定到DataView的DataGridView(someDataTable.DefaultView).
..并且从代码对基础DataTable中的行执行许多编辑.
是否可以推迟更新DataGridView,直到您决定完成编辑行为止?
实际上,DataGridView在每次编辑后都会更新,如果您不需要即时反馈,那么如果您一个接一个地更新DataTable中的许多行,那么效率很低,并且会有一些视觉冲突.
Jul*_*lin 16
为了能够临时暂停数据绑定,您必须BindingSource在您DataGridView和您之间放置一个DataView.通过将RaiseListChangedEvents属性设置BindingSource为false,不会将基础源中的更改通知给DataGridView.您可以Bindingsource在设计视图中从工具箱中拖放组件.我试图通过设计器设置数据源,但它不起作用,所以我在代码中做到了:
bindingSource1.DataSource = someDataTable.DefaultView;
dataGridView1.DataSource = bindingSource1;
Run Code Online (Sandbox Code Playgroud)
要暂停数据绑定,只需将RaiseListChangedEvents属性设置为false:
bindingSource1.RaiseListChangedEvents = false;
Run Code Online (Sandbox Code Playgroud)
要恢复数据绑定,只需将其设置RaiseListChangedEvents为true并重置绑定,以便更新显示:
bindingSource1.RaiseListChangedEvents = true;
bindingSource1.ResetBindings(false);
Run Code Online (Sandbox Code Playgroud)