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

            }

  • 相关阅读:
    c# -- 实现浏览功能(备忘)
    自己动手写中文分词解析器完整教程,并对出现的问题进行探讨和解决(附完整c#代码和相关dll文件、txt文件下载)
    爬虫技术 -- 进阶学习(九)使用HtmlAgilityPack获取页面链接(附c#代码及插件下载)
    爬虫技术 -- 进阶学习(八)模拟简单浏览器(附c#代码)
    爬虫技术 -- 进阶学习(七)简单爬虫抓取示例(附c#代码)
    c# -- 介绍File.AppendAllText 方法
    c# -- 解决FromsAuthentication上下文不存在
    c# -- Form1_Load()不被执行的三个解决方法
    爬虫技术 -- 基础学习(六)解析相对地址
    爬虫技术 -- 基础学习(五)解决页面编码识别(附c#代码)
  • 原文地址:https://www.cnblogs.com/yigedaizi/p/1487281.html
Copyright © 2011-2022 走看看