比如上移 下移 并同时移动子节点??

解决方案 »

  1.   


        <asp:TreeView ID="TreeView1" runat="server" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged"></asp:TreeView>    TreeNode node = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                for (int i = 0; i < 10; i++)
                {
                    node = new TreeNode("上移--> " + i, i.ToString());
                    TreeView1.Nodes.Add(node);
                }
            }
        }
        protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            node = TreeView1.SelectedNode;
            for (int i = 0; i < TreeView1.Nodes.Count; i++)
            {
                if (node.Value == TreeView1.Nodes[i].Value && i > 0)
                {
                    TreeNode temp = TreeView1.Nodes[i - 1];
                    TreeView1.Nodes.AddAt(i - 1, node);
                    TreeView1.Nodes.AddAt(i, temp);
                    break;
                }
            }
        }
      

  2.   


    如有需要可以用AJAX
    做成无刷新的
      

  3.   

    实现上下移动的一个方法就是替换
    节点a下面有节点b
    节点b要上移那么就让a和b换个位置好了 
      

  4.   

    给你个思路,可以用克隆的方法。
    将节点A及下面的子节点克隆。
    将节点B及下面的子节点克隆。
    然后位置互换。要做成无刷新的可以用ajax.
      

  5.   

    我要的思路不是源码 
    光说一个AJAX你能得到解决问题的思路?还有对于不明原理的人才问的,比如说用AJAX ,AJAX实现原理能否简单的事例介绍
    我是来寻求帮助的 不是来受教的
    我的想法移动 先获取所选节点 然后获取移动到的节点 把原有的添加一遍 再删除原有节点
    此方法的效率可见一般是否有更好的解决方案这是我想要知道谢谢
      

  6.   

    回 等待开刃的刀实现上下移动的一个方法就是替换 
    节点a下面有节点b 
    节点b要上移 那么就让a和b换个位置好了 
    数据库实现我倒是知道如何操作但在树中我就不知道如何替换位置了
      

  7.   

    private void button1_Click(object sender, EventArgs e)        {            TreeNode node = this.treeView1.SelectedNode.Clone() as TreeNode;            int index = -1;            for (int j = 0; j < this.treeView1.SelectedNode.Parent.Nodes.Count; j++)            {                if (this.treeView1.SelectedNode == this.treeView1.SelectedNode.Parent.Nodes[j])                {                    index = j;                    break;                }            }
                            this.treeView1.BeginUpdate();
                this.treeView1.SelectedNode.Parent.Nodes.Insert(index-1, node);            this.treeView1.SelectedNode.Parent.Nodes.RemoveAt(index + 1);
                this.treeView1.EndUpdate();
                 this.treeView1.SelectedNode = node;            this.treeView1.Select();
            }        private void button2_Click(object sender, EventArgs e)        {            TreeNode node = this.treeView1.SelectedNode.Clone() as TreeNode;            int index = -1;            for (int j = 0; j < this.treeView1.SelectedNode.Parent.Nodes.Count; j++)            {                if (this.treeView1.SelectedNode == this.treeView1.SelectedNode.Parent.Nodes[j])                {                    index = j;                    break;                }            }            this.treeView1.BeginUpdate();            this.treeView1.SelectedNode.Parent.Nodes.Insert(index + 2, node);            this.treeView1.SelectedNode.Parent.Nodes.RemoveAt(index);
                this.treeView1.EndUpdate();
                 this.treeView1.SelectedNode = node;
                this.treeView1.Select();
            }怎么转成VS2008 c# 的代码
      

  8.   

    这个软件应该是你要的 WebTreeView是Intersoft公司最近ASP.NET服务器端控件,它是您可以轻松创建分级数据表述功能。WebTreeView.NET® 1.0拥有众多独特的功能特征,其灵活性和高自定义性可以完全满足您的设计需求;其独特的功能特征使其成为最优秀的树形展示控件之一。WebTreeView.NET中的特征包括:三态检验框,懒加载,精确拖拽性能,标准键盘导航控制,内置生动的节点展开及收缩效果。这个强大的控件对开发者创建强大的数据分级展示功能有很大的帮助,窗口到窗口导航同样也是架构导航。当然,它将帮助开发者更轻松将强大的树形列表控件交付给最终用户。WebTreeView.NET 1.0 / 2007 R2 SP1 版本更新信息