WEB开发网
开发学院网页设计JavaScript TreeView节点互斥,autopostback=false的方法 阅读

TreeView节点互斥,autopostback=false的方法

 2005-09-25 19:53:50 来源:WEB开发网   
核心提示:问题描述:frameset中的TreeView,里面就四个节点,想打开一个后,TreeView节点互斥,autopostback=false的方法,关闭其它三个节点,开始是在TreeView1_Expand里写, this.TreeView1.getTreeNode(nodeIndex).setAttribute(&#

问题描述:frameset中的TreeView,里面就四个节点,想打开一个后,关闭其它三个节点。
开始是在TreeView1_Expand里写,倒也能用,可要设置autopostback为true,刷新时很难看,就在网上找资料
相关主题如下:
==================
1. "展开时不提交,改变选择节点时才提交"
2. "使TreeView展开一个节点后自动缩回其他所有的已经展开的节点,就是说同一时间内只有一个展开节点"
3. "TreeView展开无闪烁的解决方法"
4. "TreeView专题讨论" 
5. "TreeView javaScript控制方法研究"
==================
上面有个Javascript角本写的不错,可试了半天老是出错。
于是自已写了一个。


<script  language="JavaScript"> 
  function  initTree()
  { 
   var tree = document.all["TreeView1"];
   tree.attachEvent("onexpand", SelectedIndexChange); //追加个事件
  }
  function SelectedIndexChange()
  {
   var temp = this.TreeView1.clickedNodeIndex;
   var nodes = new Array();
   nodes = this.TreeView1.getChildren();
   for(i=0;i<nodes.length;i++)
   {
    if(i!=temp)
    {
     if(i<10)
  nodeIndex = "0"+i;//我这只用到了四个节点的,十个以上的自已试试看吧。
 this.TreeView1.getTreeNode(nodeIndex).setAttribute('expanded','false');
    }
   }
}
</script>
最后在body里写一个
<body >
就可以用了。

当然也可以像"TreeView专题讨论"中把javascript写在page_load里,不过那样就很麻烦了,也很容易出错儿。

Tags:TreeView 节点 互斥

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接