0

通过 a 添加新项目时BindingNavigator,如何使用先前选择的项目的值填充新项目的多个字段?

注意:在 上BindingNavigatorAddNewItem.ClickBindingNavigator已加载新项目并将控件清除为默认值。

4

1 回答 1

2

BindingNavigator必须绑定到数据源。例如,要让它与 a 共享相同的内容DataGridView,它需要使用 a BindingSource。因此,添加的项目实际上已添加到您的基础BindingSource.DataSource.

我可以看到有两种方法可以解决您的问题。

一旦DataGridViewBindingNavigator都被绑定,即使您单击BindingNavigator.AddNewItem按钮,也会调用BindingSource.AddNew()方法,并且CurrencyManager更新的位置会根据您新添加的项目的位置发生变化,BindingSource.Current通过返回新添加的对象的实例,属性也会发生变化,或者否则,BindingSource.CurrencyManager.Current也一样。

1 - 使用BindingSource.Current

输入BindingSource.Current对象,分配你的值,你就完成了!

2 - 订阅BindingSource.AddingNew活动

通过这样做,您可以通过 访问您的实例 BindingSource.AddignNewEventArgs,并使用该AddignNewEventArgs.NewObject属性对其进行类型转换并为其分配您自己的默认值。

于 2014-04-30T00:43:40.387 回答