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

            }

  • 相关阅读:
    Atitit 经济学常见的流派 古典主义与凯恩斯主义
    Atitit 学习方法 体系化学习方法 Excel 科目,分类,专业 三级分类。。 知识点。。 课程就是每一个知识点的详细化。。 比如经济学 类别 专业 xx概论知识点 3、金
    atiitt it学科体系化 体系树与知识点概念大总结.xlsx
    Atitit 减少财政支出普通人如何蹭政府补贴措施 attilax大总结.docx
    Atitit 信用管理概论 attilax学习心得
    Atitit.月度计划日程表 每月流程表v5
    Atitit 企业6大职能 attilax总结
    Atitit 常见每日流程日程日常工作.docx v8 ver ampm imp 签到 am y 天气情况检查 am y 晨会,每天或者隔天 am 每日计划(项目计划,日计划等。 am
    Atitit 财政赤字解决方案
    Atitit 建设自己的财政体系 attilax总结 1.1. 收入理论 2 1.2. 收入分类 2 1.3. 2 1.4. 非货币收入 2 1.5. 2 1.6. 降低期望 2 1.7.
  • 原文地址:https://www.cnblogs.com/yigedaizi/p/1487281.html
Copyright © 2011-2022 走看看