zoukankan      html  css  js  c++  java
  • TreeView节点上移下移排序

            /// <summary>
            /// 选中节点上移方法
            /// </summary>
            /// <param name="node"></param>
            private void SetTreeNodeUp(TreeNode node)
            {
                if ((node == null) || (node.PrevNode) == null)
                    return;
                TreeNode newNode = (TreeNode)node.Clone();
                //数据表的移动
                if (node.Level == 1)
                {
                    object[] _rowData = SearchParentDataTable.Rows[node.Index].ItemArray;
                    SearchParentDataTable.Rows[node.Index].ItemArray = SearchParentDataTable.Rows[node.Index - 1].ItemArray;
                    SearchParentDataTable.Rows[node.Index - 1].ItemArray = _rowData;
                }
                if (node.Level == 2)
                {
                    DataTable dt = new DataTable();
                    dt = (DataTable)SearchChildDataTableArr[node.Parent.Index];
                    object[] _rowData = dt.Rows[node.Index].ItemArray;
                    dt.Rows[node.Index].ItemArray = dt.Rows[node.Index - 1].ItemArray;
                    dt.Rows[node.Index - 1].ItemArray = _rowData;
                }
                //节点的移动
                if (node.PrevNode.PrevNode != null)
                {
                    if (node.Parent != null)
                        node.Parent.Nodes.Insert(node.PrevNode.Index , newNode);
                    else
                        node.TreeView.Nodes.Insert(node.PrevNode.Index, newNode);
                }
                else
                    if (node.Parent != null)
                        node.Parent.Nodes.Insert(node.PrevNode.Index, newNode);
                    else
                        node.TreeView.Nodes.Insert(node.PrevNode.Index, newNode);
                node.TreeView.SelectedNode = newNode;
                node.TreeView.Nodes.Remove(node);

            }
            /// <summary>
            /// 选中节点下移方法
            /// </summary>
            /// <param name="node"></param>
            private void SetTreeNodeDown(TreeNode node)
            {
                if ((node == null) || (node.NextNode) == null) return;
                TreeNode newNode = (TreeNode)node.Clone();
                //数据表的移动
                if (node.Level == 1)
                {
                    object[] _rowData = SearchParentDataTable.Rows[node.Index].ItemArray;
                    SearchParentDataTable.Rows[node.Index].ItemArray = SearchParentDataTable.Rows[node.Index + 1].ItemArray;
                    SearchParentDataTable.Rows[node.Index + 1].ItemArray = _rowData;
                }
                if (node.Level == 2)
                {
                    DataTable dt = new DataTable();
                    dt = (DataTable)SearchChildDataTableArr[node.Parent.Index];
                    object[] _rowData = dt.Rows[node.Index].ItemArray;
                    dt.Rows[node.Index].ItemArray = dt.Rows[node.Index + 1].ItemArray;
                    dt.Rows[node.Index + 1].ItemArray = _rowData;
                }
                //节点的移动
                if (node.NextNode.NextNode != null)
                {
                    if (node.Parent != null)
                        node.Parent.Nodes.Insert(node.NextNode.NextNode.Index, newNode);
                    else
                        node.TreeView.Nodes.Insert(node.NextNode.NextNode.Index, newNode);
                }
                else
                    if (node.Parent != null)
                        node.Parent.Nodes.Add(newNode);
                    else
                        node.TreeView.Nodes.Add(newNode);
                node.TreeView.SelectedNode = newNode;
                node.TreeView.Nodes.Remove(node);

            }

  • 相关阅读:
    小组自评、互评及反馈
    "一个程序员的生命周期"读后感
    阅读《构建之法》第10-12章
    阅读《构建之法》第8,9,10章
    冒泡算法程序分析树的评论
    1014 C语言文法定义与C程序的推导过程
    0917 实验一词法分析程序
    0909 我与编译原理不得不说的秘密
    复利计算器4
    复利及单利计算
  • 原文地址:https://www.cnblogs.com/yigedaizi/p/1487281.html
Copyright © 2011-2022 走看看