当前位置: 首页 > 知识库问答 >
问题:

C#删除树视图中重复的子/孙/曾孙节点

穆睿才
2023-03-14

我有一个动态生成的树视图。我的问题是,它添加相同的节点-它从另一个应用程序接收列表,虽然其中相同的项目是重复的,但我不想在我的树视图中包括重复的项目。我试图避免在第一种情况下添加节点;但是失败了。我检查是否存在的代码如下(尝试了一些):

if(treeViewLeft.Nodes[0].Nodes[index1].Nodes[index2].Nodes.Find(childnode.Name,true).Length>0)
 { 
treeViewLeft.Nodes[0].Nodes[index1].Nodes[index2].Nodes.Add(childnode); 
 }

if(treeViewLeft.Nodes[0].Nodes[index1].Nodes[index2].Nodes.Contains(childnode.Name))
 { 
treeViewLeft.Nodes[0].Nodes[index1].Nodes[index2].Nodes.Add(childnode); 
 }

共有1个答案

杨昊
2023-03-14

我认为问题可能是,当您创建子节点时,它们在技术上是不同的对象,即使它们的所有属性都是相同的。所以节点。在这种情况下,包含(子节点)不会返回true。

相反,您可以添加一个函数来遍历节点上的所有名称属性,以查找匹配项:

public bool CheckNameExists(TreeNode parent, string text)
{
    foreach (TreeNode item in parent.Nodes)
    {
        if (item.Name == text) return true;
    }

    return false;
}

那么,我会举第二个例子,把它改成这样:

if(CheckNameExists(treeViewLeft.Nodes[0].Nodes[index1].Nodes[index2], childnode.Name) == false)
{ 
    treeViewLeft.Nodes[0].Nodes[index1].Nodes[index2].Nodes.Add(childnode); 
}

 类似资料:
  • 我已经尝试解析一些XML好几个小时了,但运气不好。检查了类似的线程并查看了ElementTree文档,但仍然很失落。 基本上,我从路由器接收到一些XML输出,这些输出存储在一个字符串中,然后我必须对其进行解析,以获得一些特定的信息。 下面是我正在研究的xml示例: 例如,我想要获取/打印内容的节点是rt目的地。 我试过: 这个, 这是设置根(指针?)在特定节点上, 关于如何遍历到此特定节点或如何获

  • 问题内容: 我对SQL还是很陌生,试图绕过它,但是有点令人困惑。这是我正在使用的东西的简化版本。 我有这张桌子叫: 上表是人员清单。他们的parent_id列指的是他们的父母。如果表上没有父母,则他们的parent_id为0。 现在,我希望能够获得每组人的单独列表:祖父母,子女和孙子女。 很容易获得祖父母(拉里和凯文),我可以执行以下查询: 但是当涉及到生子(约翰,拉里,杰森和米尔德雷德)和孙子(

  • 说了这话,又勾起了绝影颇多的联想,半晌,他才语重心长地说:“BOSS此言差矣。你今天说我们最需要的也许并不是技术,这让我想起好多以前的事了。你知道燕儿为什么要跟我分手吗?她跟我说:‘你确实对我很好,也给了我很多,可是几年下来,我渐渐发现你给我的其实并不是我想要的。’我问她:‘那你想要什么呢?’她也答不上来,只是说:很多她想要的东西别人轻轻松松就能给她,在她生气的时候别人很容易就能哄她开心,别人说的

  • 问题内容: 我的操作: 父母:国家/地区,孩子:分支机构,孙子:员工 PUT / company {“ mappings”:{“ branch”:{“ _parent”:{“ type”:“ country”}}},“ employee”:{“ _parent”:{“ type”:“ branch”}}}}} 我想添加一个孙子雇员2,父母是分支: PUT / company / employee2

  • 我有一个活动是持有5个片段。其中一个片段是持有5更多的碎片。如果我添加到片段管理器a. addToBackStack(空)。返回按钮返回到活动的最后一个片段,而不是从“父亲”片段的最后一个片段(即持有5更多的片段)。 有什么帮助吗。。 编辑:

  • 本文向大家介绍删除Javascript树中的节点,包括了删除Javascript树中的节点的使用技巧和注意事项,需要的朋友参考一下 如果从远处看,从树中删除节点非常复杂。删除节点时需要考虑3种情况。这些在以下功能的注释中提到。正如我们之前所做的那样,我们将在类中创建一个方法和一个递归调用的助手。 类方法 辅助方法 您可以使用以下方式进行测试:  示例 输出结果 这将给出输出-