为具有给定值的节点深入搜索Telerik Radtreview子树?

Ask*_*mov 1 telerik radtreeview

我有一个RadTreeView C#组件.树是嵌套的,因此一些节点具有其子树,存储在上层节点的Nodes属性中.

现在我需要按值找到一个节点.节点隐藏在子树的某个地方.如果我使用电话

  RadTreeNode rtn= PagesTreeView.Nodes.FindNodeByValue(i.ToString());
Run Code Online (Sandbox Code Playgroud)

其中PagesTreeView是我的树,然后它只搜索顶级节点.

我如何使用Value来查找节点,不仅使用当前树级的节点,而且还可以使用子树?我是否需要自己编写这样的递归搜索,或者有一个简单的解决方案?

msi*_*man 5

递归搜索RadComboBox

没有内置函数来递归搜索,但是你可以自己动手.这应该适合你(未经测试):

RadTreeNode FindNodeRecursive(RadTreeNodeCollection nodes, string value)
{
    foreach (RadTreeNode node in nodes)
    {
        if(node.Value == value)
            return node;

        if (node.Nodes.Count > 0)
        {
            FindNodeRecursive(node.Nodes, value);
        }

        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后像这样调用它:

var node = FindNodeRecursive(PagesTreeView.Nodes, i.ToString());
Run Code Online (Sandbox Code Playgroud)