【发布时间】:2009-04-29 21:46:19
【问题描述】:
当我尝试删除 datagridview 中的最后一项时,我收到以下消息。
DataBinding 在列表中找不到适合所有绑定的行。
我的绑定设置如下。
ExtendedBindingList<MyClass> bl = new ExtendedBindingList<MyClass>(GetDataFromDB());
BindingSource bs = new BindingSource();
bs.DataSource = bl;
dgv.DataSource = bs;
ExtendedBindingList 只是我拼凑起来的一个简单的东西,用于实现排序和过滤以及一些基本的状态持久性。 dgv 是 DataGridView。 GetDataFromDB 返回一个 MyClass 列表。
仅当我尝试使用以下方法从 datagridview 中删除最后一项时才会出现此问题:
bs.RemoveCurrent();
在所有其他时间都有效。我对解决方案的唯一提示是删除所有绑定并重新应用它们,但这似乎不是一个理想的解决方案。
编辑 只有在 BindingList 成功删除最后一个有问题的项目后,才会引发异常。它是在外部代码中抛出的,所以我无法确切知道是什么抛出它。
所以,我在这里,向 SO 寻求帮助:)。
提前致谢, 贾斯汀
【问题讨论】:
标签: c# winforms data-binding bindingsource bindinglist