我想点击一个节点,通过事件SelectedNodeChanged 取数据库的值然后加载节点,再点击这个节点,这个节点就折叠。可SelectedNodeChanged是要点击不同的节点,点击同一个节点,第二次的点击无效,无法折叠。请问如何解决?

解决方案 »

  1.   

    Collapse
    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            if (this.TreeView1.SelectedNode != null)
            {this.TreeView1.SelectedNode.Collapse();}
         }
      

  2.   

    注意加上判断,判断一个节点是不是加载过了!
    标志位可以放在this.TreeView1.SelectedNode.Tag中
    默认为null,每次加载完成改为String.Empty.然后TreeView1_SelectedNodeChanged
    事件中判断是不是空来确定是不是加载节点
        protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) 
        { 
            if (this.TreeView1.Tag = null)
             {
                  //加载数据  。我怀疑楼主再次点击无用是因为又去加载节点了!
                 this.TreeView1.Tag = String.Empty;
             }
        }
      

  3.   

    FlyTreeView for ASP.NET 
    http://www.cnblogs.com/zengxiangzhan/archive/2010/01/27/1657756.html
      

  4.   

    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) 
        { 
            if (this.TreeView1.Tag = null) 
            { 
                  //加载数据  。我怀疑楼主再次点击无用是因为又去加载节点了! 
                this.TreeView1.Tag = String.Empty; 
            } 
        }