c# – WinForms.如何在使用BindingNavigator时使DataGridView写入单元格值

我在Win绑定到相同的BindingSource上有WinForms DataGridView和BindingNavigator.

当用户在DataGridView的单元格中输入文本(单元格文本编辑器可见)并在BindingNavigator中按“Move next”时,
假设网格关闭单元格文本编辑器,文本应写入DataTable字段并记录结束编辑.

但网格只是忽略输入的文本,并将旧值返回到单元格.

在通过BindingNavigator导航时,是否可以使网格写入输入的值?

最佳答案 这是可能的.您所需要的只是将
BindingNavigator类的
CausesValidation属性设置为true.

请注意,默认情况下此属性为false,并且BindingNavigator基类ToolStrip也会隐藏该属性,因此您无法在设计时执行此操作(此外,该属性的文档也会产生误导).但您可以通过代码(例如,在表单Load事件中)执行此操作:

this.bindingNavigator.CausesValidation = true;
点赞