【发布时间】:2018-03-28 09:35:08
【问题描述】:
我为分层数据创建了一个类。从这个类我生成自定义树视图。在将数据发送到树视图之前,我需要删除一个不以实例结尾的分支 HaveData = true
public class Data
{
public List<Data> Children
{
get;
set;
}
public bool HaveData
{
get;
set;
}
}
之前的树视图:
1 First
1.1 Item
1.1.1 Item (HaveData = false)
1.2 Item
1.2.1 Item (HaveData = true)
...
我需要:
1 First
1.2 Item
1.2.1 Item (HaveData = true)
...
如何遍历所有节点并仅删除那些以 HaveData = false 结尾的节点? 谢谢。
【问题讨论】:
-
如果您能提供minimal reproducible example(根据这些输入显示您的输入和预期输出),那就太棒了。
-
您只想删除“叶子”或“分支”吗? (也只有 3 位数位置或 1 和 2 位数位置)
-
如果Item 1.1有数据怎么办?你还想删除它吗?如果它有两个直接孩子,一个有数据,一个没有数据怎么办?
-
如果项目 1.1 有数据 = 不要删除。如果节点有两个孩子,只删除一个,HasData=false
-
nozzleman:仅删除 1.1 abd 1.1.1。第一个节点包含节点 1.2 巫婆有数据