问题描述: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 onload="initTree();">就可以用了。
当然也可以像"TreeView专题讨论"中把javascript写在page_load里,不过那样就很麻烦了,也很容易出错儿。
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18