【问题标题】:How to set the SelectedNode and Set the Focus of the selected node in Telerik RadTreeView?如何在 Telerik RadTreeView 中设置 SelectedNode 并设置选定节点的焦点?
【发布时间】:2012-04-23 06:08:06
【问题描述】:

我正在使用带有 ASP .Net C# 的 Telerik RadTreeView。我可以使用以下代码设置选定节点:

        var node = radTreeViewMenuStructure.Nodes.FindNodeByValue(linkID.ToString());

        if (node != null) // <- equals null when not on the root of the tree
        {
            node.Selected = true;
            node.Expanded = true;
            node.ExpandParentNodes();
            node.Focus();
        }

上面的代码仅在节点刚刚离开根并且没有包含在父节点中时才设置选定的节点。选择包含在父节点中的节点的 ID 时,我的节点 = null。有什么建议吗?

【问题讨论】:

    标签: c# asp.net .net telerik radtreeview


    【解决方案1】:

    您也只需拨打node.ExpandParentNodes();

    【讨论】:

    • 这是一个很大的帮助,我将它添加到我的问题中的代码中。但这并没有解决我的问题。感谢您的意见。
    【解决方案2】:

    .FindNodeByValue 在树视图的节点中查找。它不会查看每个子节点。解决方案是递归地走树。这是我最终解决问题的代码:

        private void SelectLink(int linkID, RadTreeNodeCollection rootNodes)
        {
            var node = rootNodes.FindNodeByValue(linkID.ToString());
            if (node != null)
            {
                node.Selected = true;
                node.Expanded = true;
                node.ExpandParentNodes();
                node.Focus();
    
                ... Do some other work ...
    
                return;
            }
    
            // for each node with children  
            foreach (RadTreeNode item in rootNodes.Cast<RadTreeNode>().Where(item => item.Nodes.Count > 0))
            {
                // Recursive call to self to walk the tree
                SelectLink(linkID, item.Nodes);
            }
        }
    

    然后我只需调用根 RadTreeView 的方法:

    SelectLink(radTreeViewMenuStructure.Nodes, idToFind);
    

    【讨论】:

    • 你使用的linkID是什么?为 RadTreeNode 分配 ID 是只读的。
    【解决方案3】:

    您只需要这样做: radTreeViewMenuStructure.FindNodeByValue() 这将搜索整棵树。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      • 2011-03-07
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      相关资源
      最近更新 更多