【发布时间】:2010-12-15 15:50:43
【问题描述】:
我有一个 BindingList 作为数据源和一个网格控件, 如果用户删除网格中的一行,我希望他得到确认(例如消息框),
我正在使用的网格控件(我猜是大多数),调用 Collection 的 RemoveAt(int index) 方法 它有一个 void 返回值,即使我将从 bindingList 继承,覆盖该方法或为其(和其他)提供新的实现,它也无济于事,因为网格无法知道用户选择取消操作...
有没有办法只使用数据绑定和库存绑定列表、网格控件来解决这个问题?
我所做的解决方法是: 一种。继承表单 BindingList,实现 ICancellableRemoving(其中包含单个“bool RemoveItem(object item)”。 湾。从网格继承,覆盖它的 remove 方法(或类似方法),检查数据源是否实现了 ICancellableRemoving,如果是,则调用该方法,检查结果并相应地取消/继续操作。
附言 我实现了一个接口,因为 BindingList 中唯一具有布尔返回值的“Remove*”方法是 Collection 的 Remove(T Item),它是通用的……网格不是;)
提前致谢, 埃里克。
【问题讨论】:
标签: data-binding datagridview bindinglist