如何在根节点上查找子节点[TreeView]

ozk*_*ank 6 c# asp.net treeview webforms

 ROOT
      A 
        B
          C 
            D 
              E
        T
      F
      G
        X
Run Code Online (Sandbox Code Playgroud)

我想找到E Node的父节点(它是5号).然后,我将保存节点.如果number更小5.我在Asp.net控件中使用TreeView.

Mic*_*ins 7

我建议使用递归迭代.

private TreeNode FindNode(TreeView tvSelection, string matchText) 
{ 
    foreach (TreeNode node in tvSelection.Nodes) 
    { 
        if (node.Tag.ToString() == matchText) 
        {
            return node; 
        }
        else 
        { 
            TreeNode nodeChild = FindChildNode (node, matchText); 
            if (nodeChild != null) return nodeChild; 
        } 
    } 
    return (TreeNode)null; 
}
Run Code Online (Sandbox Code Playgroud)

您可以利用此逻辑来确定有关您的节点的许多内容,此结构还允许您扩展您可以对节点和要搜索的条件执行的操作.您可以编辑我的示例以满足您自己的需求.

因此,使用此示例,您可以传入E并期望返回节点E,然后只是返回的节点的父属性将是您之后的父节点.

tn treenode = FindNode(myTreeview, "E")
Run Code Online (Sandbox Code Playgroud)

tn.parent 是你追求的价值.