如何删除由字段嵌套的列表中的项
本文关键字:嵌套 列表 字段 何删除 删除 | 更新日期: 2023-09-27 18:23:54
我在删除列表时遇到问题。
想象一下这两张这样的唱片。
第1项:ID=1001,Name="A",Dependency=1,Order=1.00
第2项:ID=2354,Name="B",Dependency=1,Order=1.01
它们通过依赖关系以某种方式链接,网页中的视觉效果就像一个元素被另一个元素嵌套。我一直试图在前端删除此记录。数据库级别还可以。这是为了避免数据库往返,我曾从集合中删除元素并进行数据绑定刷新。但现在,我的元素嵌套了,我不知道必须这么做。
我匆忙地尝试了一下,却没有发现修改列表的问题。
this.Entity.Items.Remove(this.CurrentItem);
foreach(Item item in this.Entity.Items)
{
if(item.Dependency == this.CurrentItem.Depedency){
this.Entity.Items.Remove(item);
}
}
myRepeater.DataSource = this.Entity.Items
myRepeater.DataBind();
然后我做了
this.Entity.Items.ToList().RemoveAll(x => x.Depedency == this.CurrentItem.Dependency);
myRepeater.DataSource = this.Entity.Items
myRepeater.DataBind();
但是ToList()会重新创建一个新列表,并且不会删除同一列表中的任何内容Items是实体内的集合(列表)
请不要修改实体结构和数据库。
您可以使用for循环而不是for each。
此外,您可以尝试
myRepeater.DataSource = this.Entity.Items.ToList().RemoveAll(x => x.Depedency == this.CurrentItem.Dependency);