通过 a 添加新项目时BindingNavigator,如何使用先前选择的项目的值填充新项目的多个字段?
注意:在 上BindingNavigatorAddNewItem.Click,BindingNavigator已加载新项目并将控件清除为默认值。
通过 a 添加新项目时BindingNavigator,如何使用先前选择的项目的值填充新项目的多个字段?
注意:在 上BindingNavigatorAddNewItem.Click,BindingNavigator已加载新项目并将控件清除为默认值。
BindingNavigator必须绑定到数据源。例如,要让它与 a 共享相同的内容DataGridView,它需要使用 a BindingSource。因此,添加的项目实际上已添加到您的基础BindingSource.DataSource.
我可以看到有两种方法可以解决您的问题。
一旦DataGridView和BindingNavigator都被绑定,即使您单击BindingNavigator.AddNewItem按钮,也会调用BindingSource.AddNew()方法,并且CurrencyManager更新的位置会根据您新添加的项目的位置发生变化,BindingSource.Current通过返回新添加的对象的实例,属性也会发生变化,或者否则,BindingSource.CurrencyManager.Current也一样。
1 - 使用
BindingSource.Current
输入BindingSource.Current对象,分配你的值,你就完成了!
2 - 订阅
BindingSource.AddingNew活动
通过这样做,您可以通过 访问您的实例 BindingSource.AddignNewEventArgs,并使用该AddignNewEventArgs.NewObject属性对其进行类型转换并为其分配您自己的默认值。