获取Dev Components的所有选定节点AdvanceTreeView Control

时间:2015-10-26 05:39:41

标签: winforms treeview devexpress multipleselection dotnetbar

我在C#Win Forms应用程序中使用Dev Components Advance TreeView控件。树视图节点具有用于选择/取消选择节点的复选框。我已在树视图中启用了多个节点选择。我希望所有选定的节点都在"检查/取消选中"任何节点。我尝试过使用treeview" SelectedNodes"返回所选节点集合的属性,但是它总是返回的一些属性" 1"点头,例如最后选择的节点。

更新 问题在于选择儿童节点。如果我多选择所有父节点,那么我得到正确的计数,但在子节点的情况下,计数总是1 请建议

1 个答案:

答案 0 :(得分:0)

你可以使用一个简单的递归函数,只需在这里传递根节点。如果您不想要递归,请将选定的节点列表挂钩到事件处理程序中以进行检查/取消选中。

     static public List<HierarchyNode> GetCheckedNodes(HierarchyNode node)
    {
        var nodes = new List<HierarchyNode>();

        foreach (HierarchyNode childNode in node.Nodes)
        {
            nodes.AddRange(GetCheckedNodes(childNode));
        }

        if (node.Checked)
        {
            nodes.Add(node);
        }

        return nodes;
    }