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

如何在vb中的Treeview控件中搜索父节点中的子节点的文本。网

苏鹏鹍
2023-03-14

我有一个Treeview控件结构,我在运行时生成,它通过单击专用按钮将文本从文本框中取出的子节点添加到父节点。

现在,随着更多的子节点添加到特定的父节点,我希望通过单击按钮来搜索该父节点中先前添加的子节点的名称(文本),以防止用户添加具有相同名称的重复节点。

如果发生这种情况,用户应该会收到一条消息,表明具有相同名称的子节点已添加到该特定父节点。我已经为相邻的子节点编写了解决此问题的代码,即,如果用户将名为“Frank”的子节点添加到名为“Family”的父节点,然后尝试在wards之后立即再次添加“Frank”,则他/她将收到“Frank”已添加到“Family”父节点的消息。

我的问题是,如果用户添加“弗兰克”,然后添加“雪莉”,然后添加“马克”,然后再次添加“弗兰克”,他/她将不会收到消息。解决这个问题最好的方法是什么?

共有1个答案

龙令雪
2023-03-14

我认为您需要获取刚刚输入的子节点的父节点,从该父节点检索所有子节点,然后遍历子节点,查看这些节点中是否有同名节点。

可能是这样的:

    Dim currentNode As TreeNode = TreeView1.SelectedNode ' The node we just entered
    Dim targetName As String = TextBox1.Text.trim.toLower ' The string we're searching against - we trim and set to lower for comparison purposes

    Dim parentNode = currentNode.Parent ' Get the parent
    Dim childNodes As TreeNodeCollection = parentNode.Nodes ' Get all the children 

    Dim WeHaveDuplicate as Boolean = False ' We use this to flag if a duplicate is found.  Initially set to false.

    For Each tempNode As TreeNode In childNodes
        If tempNode.Text.trim.toLower = targetName Then WeHaveDuplicate = True ' Test that we have the same name but not referring to the same node
    Next

    If WeHaveDuplicate= True Then 
       ' Send message to user
       ' Do not add new node to treeview 
    Else
       ' Add new node to treeview
    End If;

更新:我修改了这段代码,使用文本框文本,而不是所选节点的当前值,来确定是否存在匹配。

 类似资料:
  • 我需要将子元素复制到父元素中。 输入 期望输出 我尝试的内容(输出与输入保持相同): 我肯定会错过一些非常简单的事情。子元素与父元素具有相同的名称,这应该不是问题?

  • 我正在使用Mongoostic,它工作得很好,但我面临的问题是,如何从方法并将其传递给方法? 例如: 你们是怎么解决这个问题的?这是一个非常基本的搜索,用户搜索时,它会将用户重定向到另一个页面,在那里它要么显示已找到的结果,要么未找到。

  • 在尝试添加输入到我的文本框(ScanIdBox)中的数据并单击Add Button后,我的rootNode似乎消失了,然后TreeView是空白的。我不确定我在这里做错了什么,因为我是Windows窗体和TreeView的新手。我想做的是,如果项目的长度为8,添加一个父节点,如果项目的长度为9,添加一个子节点。我不希望根节点消失,但希望所有8个字符长的项目都是根节点下的父节点,并希望所有其他项目都

  • 问题内容: 在C#中,我发现了一种非常可爱的方法,该方法使您可以从指定控件中获取所有后代和所有THEIR后代。 我正在寻找JavaFX的类似方法。 我看到了我要使用的类,因为它是派生所有带有孩子的Node类的类。 到目前为止,这是我所拥有的(并且我还没有在Google上通过“ JavaFX从场景中获取所有节点”之类的搜索真正找到任何东西): 那么,如何确定N是否是父母(或从父母继承)呢?我说的对吗

  • 我有一个XML文档,它包含一个非常复杂(对我来说)的结构,没有换行符。它有许多具有类似结构的元素: 我需要得到节点值的文本,这是节点成员的孩子也有孩子的名字与特定的文本(在这种情况下virtual_size)。也有可能存在几个类似的节点。我可以用[1]etc吗? 这让我知道了节点的名称,但是如何达到“值”节点呢?

  • 我使用的xml文件“savedwsdl.txt”的部分内容如下... 我写了下面给出的java代码,应该用什么来获取wsdl的子节点名:消息标记名为“debitrequest”