当我离开我的数据网格的单元格时,永远不会调用 BindingSource.AddingNew。
DataGrid 将 BindingSource 作为数据源,BindingSource 又具有“客户”的“列表”。
BindingSource 需要什么来创建新的 Customer 对象并将其添加到底层 ICustomerList ?
当然,接口没有构造函数......
但我的客户对象有一个默认构造函数!
这就是我得到的例外:
System.MissingMethodException: The constcructor for the type "SAT.EnCoDe.Administration.ICustomer" was not found.
bei System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfoculture, Object[] activationAttributes) bei System.SecurityUtils.SecureCreateInstance(Type type, Object[] args) bei System.ComponentModel.BindingList1.AddNewCore()
bei System.ComponentModel.BindingList
1.System.ComponentModel.IBindingList.AddNew() 在 System.Windows.Forms.BindingSource.AddNew() 在 System.Windows.Forms.CurrencyManager.AddNew() 在 DevExpress.Data.CurrencyDataController.OnCurrencyManagerAddNew() 在 DevExpress.Data 之后。 CurrencyDataController.AddNewRow() 在 DevExpress.XtraGrid.Views.Grid.GridView.OnActiveEditor_ValueModified(Object sender, EventArgs e) 在 DevExpress.XtraEditors.Repository.RepositoryItem.RaiseModified(EventArgs e) 在 DevExpress.XtraEditors.BaseEdit.OnEditValueChanging(ChangingEventArgs e)在 DevExpress.XtraEditors.TextEdit.OnMaskBox_ValueChanged(Object sender, EventArgs e) 在 DevExpress.XtraEditors.Mask.MaskBox.RaiseEditTextChanged() 在 System.Windows.Forms.TextBoxBase.WmReflectCommand(Message& m) 在 DevExpress.XtraEditors.Mask.MaskBox 之后。 BaseWndProc(消息&m) 北 DevExpress.XtraEditors.Mask.MaskBox.WndProc(Message& m) 北 DevExpress.XtraEditors.TextBoxMaskBox.WndProc(Message& msg) 北 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 北 System.Windows.Forms .NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)