TreeView删除具有相同属性的节点

数学

当我在Win Forms应用程序中单击按钮时,我想使用重复的自定义属性来清理我的自定义TreeNode。

例如,我有像这样的TreeNodes,

public class CustomFruitCrateNode : System.Windows.Forms.TreeNode
{
    public string FruitName { get; set; }
    public bool EatAble{ get; set; }
}

现在,我想清除treeview,以删除所有具有相同FruitName的重复节点,并仅保留一个。

谢尔盖·别列佐夫斯基(Sergey Berezovskiy)

您可以通过两个步骤完成此操作。第一步-从TreeView获取所有节点的列表,即展平TreeView:

private IEnumerable<TreeNode> Flatten(TreeView treeView)
{
    Queue<TreeNode> nodes = new Queue<TreeNode>();
    foreach (TreeNode node in treeView.Nodes)
        nodes.Enqueue(node);

    while (nodes.Any())
    {
        var current = nodes.Dequeue();
        foreach (TreeNode subNode in current.Nodes)
            nodes.Enqueue(subNode);
        yield return current;
    }
}

第二步-对节点进行分组并从每个组中删除除第一个节点外的所有节点:

Flatten(treeView1)
    .Cast<CustomFruitCrateNode>()
    .GroupBy(n => n.FruitName)
    .SelectMany(g => g.Skip(1))
    .ToList()
    .ForEach(n => n.Remove());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

GraphViz文件中具有相同属性的节点组

来自分类Dev

删除具有相同属性值的重复实体

来自分类Dev

Sitecore-具有与其他节点相同属性的补丁节点

来自分类Dev

如何获取具有相同名称和相同属性名称的节点到集合?

来自分类Dev

返回Cypher中具有相同属性B的节点的属性A的总和

来自分类Dev

从列表生成具有相同属性的对

来自分类Dev

具有几乎相同属性的模型

来自分类Dev

创建具有相同属性的方法

来自分类Dev

合并具有相同属性的元素

来自分类Dev

Neo4j:为具有相同属性的节点创建索引

来自分类Dev

在Neo4J中查找具有相同属性的节点

来自分类Dev

使用一个Cypher查询在具有相同属性值的节点之间创建关系

来自分类Dev

如何使用VB.net计算XML中具有相同属性值的节点总数

来自分类Dev

如何避免在neo4j中多次访问具有相同属性的节点?

来自分类Dev

如何删除所有具有相同属性值但NSMutableArray中的对象的对象

来自分类Dev

Spring Data Neo4j不插入新节点,仅更新具有相同属性的现有节点

来自分类Dev

Spring Data Neo4j不插入新节点,仅更新具有相同属性的现有节点

来自分类Dev

Java-如何从集合中删除具有相同属性值的元素?

来自分类Dev

如何从具有相同属性值的列表中删除项目,其中计数大于 2

来自分类Dev

neo4j:用一个节点替换具有相同属性的多个节点

来自分类Dev

仅当不存在具有相同属性的节点时,才将节点添加到网络x

来自分类Dev

当输入是属性值Javascript的数组时,从Array对象中删除具有相同属性值的对象

来自分类Dev

Javascript-添加具有不同值的相同属性

来自分类Dev

具有相同属性名称的AutoMapper TwoWay映射

来自分类Dev

计算具有相同属性值的对象

来自分类Dev

在matplotlib中绘制具有相同属性的多个函数

来自分类Dev

Sparql查询:查找具有相同属性对象的对象

来自分类Dev

Rails:尝试渲染具有相同属性的用户的图像

来自分类Dev

如何排列具有相同属性值的对象数组?

Related 相关文章

  1. 1

    GraphViz文件中具有相同属性的节点组

  2. 2

    删除具有相同属性值的重复实体

  3. 3

    Sitecore-具有与其他节点相同属性的补丁节点

  4. 4

    如何获取具有相同名称和相同属性名称的节点到集合?

  5. 5

    返回Cypher中具有相同属性B的节点的属性A的总和

  6. 6

    从列表生成具有相同属性的对

  7. 7

    具有几乎相同属性的模型

  8. 8

    创建具有相同属性的方法

  9. 9

    合并具有相同属性的元素

  10. 10

    Neo4j:为具有相同属性的节点创建索引

  11. 11

    在Neo4J中查找具有相同属性的节点

  12. 12

    使用一个Cypher查询在具有相同属性值的节点之间创建关系

  13. 13

    如何使用VB.net计算XML中具有相同属性值的节点总数

  14. 14

    如何避免在neo4j中多次访问具有相同属性的节点?

  15. 15

    如何删除所有具有相同属性值但NSMutableArray中的对象的对象

  16. 16

    Spring Data Neo4j不插入新节点,仅更新具有相同属性的现有节点

  17. 17

    Spring Data Neo4j不插入新节点,仅更新具有相同属性的现有节点

  18. 18

    Java-如何从集合中删除具有相同属性值的元素?

  19. 19

    如何从具有相同属性值的列表中删除项目,其中计数大于 2

  20. 20

    neo4j:用一个节点替换具有相同属性的多个节点

  21. 21

    仅当不存在具有相同属性的节点时,才将节点添加到网络x

  22. 22

    当输入是属性值Javascript的数组时,从Array对象中删除具有相同属性值的对象

  23. 23

    Javascript-添加具有不同值的相同属性

  24. 24

    具有相同属性名称的AutoMapper TwoWay映射

  25. 25

    计算具有相同属性值的对象

  26. 26

    在matplotlib中绘制具有相同属性的多个函数

  27. 27

    Sparql查询:查找具有相同属性对象的对象

  28. 28

    Rails:尝试渲染具有相同属性的用户的图像

  29. 29

    如何排列具有相同属性值的对象数组?

热门标签

归档