已实现了自定义实体集合绑定到datagrid控件的要求,但在进行编辑的时候有时会出现
"向原始数据存储区提交行时出错"的错误,在移除行的时候.经查阅msdn.需要在集合的移除项目时,需要触发接口IBindingList定义的ListChanged事件
重写CollectionBase的方法#Region "重写CollectionBase的方法"
'在清除 CollectionBase 实例的内容之后执行其他自定义进程。
Protected Overrides Sub OnClearComplete()Sub OnClearComplete()
OnListChanged(New ListChangedEventArgs(ListChangedType.Reset, -1))
End Sub
'在向 CollectionBase 实例中插入新元素之后执行其他自定义进程。
Protected Overrides Sub OnInsertComplete()Sub OnInsertComplete(ByVal index As Integer, ByVal value As Object)
OnListChanged(New ListChangedEventArgs(ListChangedType.ItemAdded, index))
End Sub
'在从 CollectionBase 实例中移除元素之后执行其他自定义进程。
Protected Overrides Sub OnRemoveComplete()Sub OnRemoveComplete(ByVal index As Integer, ByVal value As Object)
OnListChanged(New ListChangedEventArgs(ListChangedType.ItemDeleted, index))
End Sub
'当在 CollectionBase 实例中设置值后执行其他自定义进程。
Protected Overrides Sub OnSetComplete()Sub OnSetComplete(ByVal index As Integer, ByVal oldValue As Object, ByVal newValue As Object)
MsgBox(index)
End Sub
#End Region