首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Devexpress XtraList将子节点设为父节点?

问Devexpress XtraList将子节点设为父节点?
EN

Stack Overflow用户
提问于 2013-02-15 00:50:10
回答 1查看 2.5K关注 0票数 0

我有一个包含几个父节点的XtraTreeList,每个父节点都附加了几个子节点。

我想要从父节点中提取所有子节点,删除父节点,然后将所有这些子节点绑定为父节点。简而言之,我希望删除父节点,并将所有子节点作为父节点。

我尝试了几种方法,比如使用TreeList.MoveNode(),但对我来说都不起作用。

编辑:

我已经删除了我之前的答案,并添加了一个新的,它工作正常。

EN

回答 1

Stack Overflow用户

发布于 2013-02-17 19:03:31

我所做的工作是从代码中选择所有节点,并调用DeleteSelectedNodes(),以下是代码:

代码语言:javascript
复制
            List<int> nodeIdsToMove = new List<int>();
        List<int> nodeIdsToRemove = new List<int>();

        if (comboBox_GroupBy.SelectedItem.ToString() == "None")
        {
            /* Parent nodes */
            foreach(TreeListNode parentNode in treeList_Links.Nodes)
            {
                nodeIdsToRemove.Add(parentNode.Id);
                if (parentNode.HasChildren)
                {
                    /* Child nodes */
                    foreach (TreeListNode childNode in parentNode.Nodes)
                        nodeIdsToMove.Add(childNode.Id);
                }
            }

            MoveNodes(nodeIdsToMove);
            RemoveNode(nodeIdsToRemove);

下面是MoveNode和RemoveNode的实现:

代码语言:javascript
复制
        private void MoveNodes(List<int> nodeIdsToMove)
    {
        foreach (int nodeId in nodeIdsToMove)
            treeList_Links.MoveNode(treeList_Links.FindNodeByID(nodeId), null);
    }

private void RemoveNode(List nodeIdsToRemove) { /* Enalbe multiselect */ treeList_Links.OptionsSelection.MultiSelect = true;

代码语言:javascript
复制
        /* Get nodes to select */
        ArrayList nodesToSelect = new ArrayList();
        foreach (int nodeId in nodeIdsToRemove)
            nodesToSelect.Add(treeList_Links.FindNodeByID(nodeId));

        /* Select nodes */
        treeList_Links.Selection.Set(nodesToSelect);

        /* Delete selected nodes */
        treeList_Links.DeleteSelectedNodes();

        /* Disable multiselect */
        treeList_Links.OptionsSelection.MultiSelect = false;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14879908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档