将节点添加到特定的子节点
问题描述:
我可以将节点添加到树视图添加方法。但我想将节点添加到特定的子节点。 例如要添加一个节点到节点5将节点添加到特定的子节点
|___node0
|___node1
| |___node3
| |___node4
| |___node5
|___node2
我怎么能做到这一点? 谢谢。
答
基本递归树结点搜索,顶部的我头。如果您只需要按键搜索,weismat的答案是最简单的,但是如果您需要通过节点上的数据进行搜索,则应该考虑此解决方案,因为您可以用任何可能想查找的名称替换名称搜索。
private TreeNode FindNode(TreeNode root, String name)
{
foreach (TreeNode node in root.Nodes)
{
if (node.Nodes.Count > 0)
return FindNode(root, name);
if (node.Name == name)
return node;
}
return null;
}
答
TreeNode[] tn = treeView.Nodes[0].Nodes.Find(search.Text, true);
if (tn.Count>0)
tn[0].Add(nod);
else
//handle node not found
答
如果您有子节点的参考,你可以简单地访问它的节点集合,并添加新的子进入其收集如下图所示
node5.Nodes.Add(New TreeNode("temp"));
答
威廉是正确的,但方法应该是这样的:
private TreeNode FindNode(TreeNode root, String name)
{
foreach (TreeNode node in root.Nodes)
{
if (node.Name == name)
return node;
else
{
if (node.Nodes.Count > 0)
return FindNode(node, name);
}
}
return null;
}
试用了工作得很好,
干杯!
我不明白。我怎么用这个方法?这个方法给我什么?请帮我细节。谢谢。 – Tavousi 2010-12-08 16:13:17