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);

            }

  • 相关阅读:
    java 笔记(6) static关键字
    java 笔记(5)接口,static
    java 笔记(4)抽象类与抽象方法
    java 笔记(3)多态 容易理解
    看穿CSS的定位技术
    揭开浮动布局的秘密(简略版)
    不可不知的CSS盒子模型(简略版)
    初学Java web 项目
    Eclipse快捷键
    JDBC连接数据库
  • 原文地址:https://www.cnblogs.com/yigedaizi/p/1487281.html
Copyright © 2011-2022 走看看