从绑定到数据网格 Silverlight 的可观察集合中删除项目?

发布于 2025-01-03 18:26:59 字数 455 浏览 0 评论 0原文

从绑定到 silverlight 数据网格的 observablecollection 中删除行时出现错误。

System.NullReferenceException:未将对象引用设置为 System.Collections.ObjectModel.ObservableCollection`1.RemoveItem(Int32 索引)处的 object.at 实例

if (GV.orderItemList.Contains(oOrdritem))
    GV.orderItemList.Remove(oOrdritem);

第一次,我删除一条记录,它工作正常,第二次,它给出上述异常

在此处输入图像描述

请帮忙

I am getting an error when deleting rows from an observablecollection which is bound to a datagrid in silverlight.

System.NullReferenceException: Object reference not set to an instance of an object.at at System.Collections.ObjectModel.ObservableCollection`1.RemoveItem(Int32 index)

if (GV.orderItemList.Contains(oOrdritem))
    GV.orderItemList.Remove(oOrdritem);

The first time, I delete a record, its working fine, the second time, it gives the above exception

enter image description here

please please please help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

記柔刀 2025-01-10 18:26:59

尝试使用RemoveAt而不是Remove,它在某些情况下对我有用。首先,您使用 : 找到项目的索引

int index = collection.IndexOf(item);

,然后尝试删除 :

collection.RemoveAt(index);

Try to use RemoveAt instead of Remove, it worked for me in some cases. First you find the index of de item with :

int index = collection.IndexOf(item);

then you try to remove :

collection.RemoveAt(index);
岁月静好 2025-01-10 18:26:59

进行空检查:(或几个,不确定代码的其余部分是什么样子,所以我强制执行所有内容)

if (GV != null && GV.orderItemList != null && oOrdritem != null && GV.orderItemList.Contains(oOrdritem))
    GV.orderItemList.Remove(oOrdritem);

Do a null check: (Or several, not sure what the rest of your code looks like so I'm enforcing everything)

if (GV != null && GV.orderItemList != null && oOrdritem != null && GV.orderItemList.Contains(oOrdritem))
    GV.orderItemList.Remove(oOrdritem);
不疑不惑不回忆 2025-01-10 18:26:59

我使用下面的代码对问题进行了排序:

dgOrderItems.CommitEdit(DataGridEditingUnit.Row, true);

当前聚焦的行仍处于编辑模式,这导致了异常。

I sorted the problem using the code below:

dgOrderItems.CommitEdit(DataGridEditingUnit.Row, true);

The row which was currently focused was still in edit mode which was causing the exception.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文