zoukankan      html  css  js  c++  java
  • winform TreeView树节点上下移动

     
             /// <summary>
            /// 上移
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void tsbMoveUp_Click(object sender, EventArgs e)
            {
                if (Tv_tree.SelectedNode == null)
                {
                    MessageBox.Show("请选择需要移动的的节点!");
                    this.Focus();
                    return;
                }
                folder  model = new folder();
                TreeNode node = Tv_tree.SelectedNode;     //获得选中节点的值
                model.folderId = node.Tag.ToString();
                model.TheOrder = node.Name.ToString();
                if (node.PrevNode == null)      //选中节点的上一个节点为Null则返回
                {
                    return;
                }
                folder upModel = new folder();
                TreeNode upNode = node.PrevNode;            //获得选中节点的上一个节点
                upModel.folderId = upNode.Tag.ToString();
                upModel.TheOrder = upNode.Name;
                bool flag = folderOperation.MoveUp(model, upModel);       //将两个节点的排序编号互换
                if (flag)       //如果执行成功
                {
                    string theOrder = node.Name;
                    node.Name = upNode.Name;
                    upNode.Name = theOrder;
                    TreeNode newNode = (TreeNode)node.Clone();      //克隆选中的节点
                    if (node.Parent == null)
                    {
                        Tv_tree.Nodes.Insert(upNode.Index, newNode);      //在选中节点的上一个节点的地方插入本节点
                    }
                    else
                    {
                        node.Parent.Nodes.Insert(upNode.Index, newNode);
                    }
                    node.Remove();
                    Tv_tree.SelectedNode = newNode;
                }
                else
                {
                    return;
                }
            }
            /// <summary>
            /// 下移
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void tsbMoveDown_Click(object sender, EventArgs e)
            {
                if (Tv_tree.SelectedNode == null)
                {
                   MessageBox.Show("请选择需要移动的的节点!");
                    this.Focus();
                    return;
                }
                folder model = new folder();
                TreeNode node = Tv_tree.SelectedNode;     //选中的节点
                model.folderId = node.Tag.ToString();
                model.TheOrder = node.Name.ToString();
                if (node.NextNode == null)      //下一个节点为Null时返回
                {
                    return;
                }
                folder downModel = new folder();
                TreeNode dowNode = node.NextNode;
                downModel.folderId = dowNode.Tag.ToString();
                downModel.TheOrder = dowNode.Name;
                bool flag = folderOperation.MoveUp(model, downModel);
                if (flag)
                {
                    string theOrder = node.Name;
                    node.Name = dowNode.Name;
                    dowNode.Name = theOrder;
                    TreeNode newNode = (TreeNode)dowNode.Clone();       //克隆下一个节点及其所有的子节点
                    if (node.Parent == null)
                    {
                        Tv_tree.Nodes.Insert(node.Index, newNode);    //在原节点的位置插入下一个节点的值
                    }
                    else
                    {
                        node.Parent.Nodes.Insert(node.Index, newNode);
                    }
                    dowNode.Remove();           //删除掉选中节点的下一个节点
                    Tv_tree.SelectedNode = node;  //重新选中
                }
                else
                {
                    return;
                }
            }
     
     string sql = string.Format("update folder set theorder = '{0}' where folderid = '{1}'", model.TheOrder, upModel.folderId);           
     string sql1 = string.Format("update folder set theorder = '{0}' where folderid = '{1}'", upModel.TheOrder, model.folderId);
  • 相关阅读:
    hbase单机安装和简单使用
    工作随记--div最小高度
    工作随记——弹出QQ联系方式
    关于vs2012解决方案中项目DLL文件引用问题
    工作随想——框架之我见
    jQuery 选择表格(table)里的行和列及改变简单样式
    ASP.NET的Get和Post方式的区别归纳总结
    C# 静态类与非静态类、静态成员的区别
    引用静态资源的url添加版本号,解决版本发布后的浏览器缓存有关问题
    python技巧 一等函数
  • 原文地址:https://www.cnblogs.com/51net/p/4238065.html
Copyright © 2011-2022 走看看