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

            }

  • 相关阅读:
    css 中 overflow: hidden清楚浮动的真正原因
    Get、Post请求中文乱码问题有效解决方法
    安装PostgreSQL和卸载PostgreSQL
    PostgresSql日期字段比较大小
    关于多线程编程的一点思考
    Python 虚拟环境 pyenv、venv(pyvenv)、virtualenv之间的区别
    python常用命令
    python中各种文件打开模式a w r
    python-安装
    day1-安装配置
  • 原文地址:https://www.cnblogs.com/yigedaizi/p/1487281.html
Copyright © 2020-2023  润新知