当我尝试删除 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寻求帮助:)。
在此先感谢,贾斯汀