求高人,来帮解决个问题
一个TreeView,三级节点,当展开某个节点的时候,关闭同级下的其他所有开着的节点
谢谢了.

解决方案 »

  1.   

    有办法解决吗?我MSN:[email protected]
    3Q大家,来帮帮忙啦
      

  2.   

    <script   language="javascript">   
      function   TreeView1.onexpand()   
      {   
      var   clickedNodeIndex=TreeView1.clickedNodeIndex;   
        
      var   nodeArray=new   Array();   
        
      var   i=clickedNodeIndex.lastIndexOf(".");   
        
      var   pIndex;   
        
      if(i==-1)   
      {   
      //Root   Node   
      nodeArray=TreeView1.getChildren();   
      }   
      else   
      {   
      pIndex=clickedNodeIndex.substring(0,i);   
      var   pNode=TreeView1.getTreeNode(pIndex);   
      nodeArray=pNode.getChildren();   
      }   
        
      for(i=0;i<nodeArray.length;i++)   
      {   
      var   index;   
      if(pIndex==null)   
      {   
      index   =   i   +   "";   
      }   
      else   
      {   
      index   =   pIndex   +   "."   +   i;   
      }   
        
      var   cNode;   
      cNode=nodeArray[i];   
      if(index!=clickedNodeIndex)   
      {   
      cNode.setAttribute("Expanded",false);   
      }   
      }   
      }   
      </script>  
    找到这样一段JS,不过不会用,谁帮看看怎么用啊
      

  3.   

     关键是这里吧,遍历所有节点。除了要展开的节点本身。把其他节点状态设为关闭。
    var       cNode;       
        cNode=nodeArray[i];       
        if(index!=clickedNodeIndex)       
        {       
        cNode.setAttribute("Expanded",false);       
        }       
      

  4.   

    遍历所有父节点,
    if(某父节点的Expanded==true)的时候,
    其他的设置为false
      

  5.   

      TreeNode treParent = e.Node.Parent;
            if (treParent != null)
            {
                foreach (TreeNode treeSub in treP.ChildNodes)
                {
                    if (treeSub.Value!=e.Node.Value)
                    {
                        treeSub.Expanded = false;
                    }
                   
                }
            }
      

  6.   

    有个错误 呵呵 重新再来  
    TreeNode treParent = e.Node.Parent;
            if (treParent != null)
            {
                foreach (TreeNode treeSub in treParent .ChildNodes)
                {
                    if (treeSub.Value!=e.Node.Value)
                    {
                        treeSub.Expanded = false;
                    }
                   
                }
            }
      

  7.   

    如果是服务器端控件写在 tree的TreeNodeExpanded 事件下