Binding Source 返回 -1 表示 BindingSource.Current



我正在使用绑定源为数据网格视图提供数据。

bsActivities.DataSource = CurrentUser.Activities.ToList();
gvActivities.DataSource = bsActivities;

现在我想使用索引从中删除项目:

bsActivities.RemoveAt(bsActivities.IndexOf(bsActivities.Current)) 

对我来说很奇怪,即使数据源不为空并且有项目被选中,bsActivities.Current也会返回 -1。我还尝试这样做以从绑定源中删除项目:

bsActivities.RemoveCurrent();
bsActivities.Remove(bsActivities.Current);

关于我做错了什么的任何建议?

我想出了问题所在。它不是来自绑定源或列表,而是来自我覆盖的 Equals 方法返回了错误的值,这就是为什么绑定列表找不到对象并始终返回 -1 的原因。

最新更新