1 <script language="JavaScript">
2 function initTree()
3 {
4 var tree = document.all["TreeView1"];
5 tree.attachEvent("onexpand", SelectedIndexChange);
6 }
7 function SelectedIndexChange()
8 {
9 var temp = this.TreeView1.clickedNodeIndex;
10 var nodes = new Array();
11 nodes = this.TreeView1.getChildren();
12 for(i=0;i<nodes.length;i++)
13 {
14 if(i!=temp)
15 {
16 if(i<10)
17 {nodeIndex = "0"+i;
18 this.TreeView1.getTreeNode(nodeIndex).setAttribute('expanded','false');}
19 else
20 {nodeIndex = i;
21 this.TreeView1.getTreeNode(nodeIndex).setAttribute('expanded','false');}
22 }
23 }
24 TreeView1.getTreeNode(temp).setAttribute('expanded','true');
25 var NodeArray=new Array();
26 NodeArray=TreeView1.getTreeNode(temp).getChildren();
27 for(i=0;i<NodeArray.length;i++)
28 {
29 var tempindex=temp+"."+i;
30 TreeView1.getTreeNode(tempindex).setAttribute('expanded','true');
31 }
32 }
33 </script>
34
2 function initTree()
3 {
4 var tree = document.all["TreeView1"];
5 tree.attachEvent("onexpand", SelectedIndexChange);
6 }
7 function SelectedIndexChange()
8 {
9 var temp = this.TreeView1.clickedNodeIndex;
10 var nodes = new Array();
11 nodes = this.TreeView1.getChildren();
12 for(i=0;i<nodes.length;i++)
13 {
14 if(i!=temp)
15 {
16 if(i<10)
17 {nodeIndex = "0"+i;
18 this.TreeView1.getTreeNode(nodeIndex).setAttribute('expanded','false');}
19 else
20 {nodeIndex = i;
21 this.TreeView1.getTreeNode(nodeIndex).setAttribute('expanded','false');}
22 }
23 }
24 TreeView1.getTreeNode(temp).setAttribute('expanded','true');
25 var NodeArray=new Array();
26 NodeArray=TreeView1.getTreeNode(temp).getChildren();
27 for(i=0;i<NodeArray.length;i++)
28 {
29 var tempindex=temp+"."+i;
30 TreeView1.getTreeNode(tempindex).setAttribute('expanded','true');
31 }
32 }
33 </script>
34
写完之后有一个问题,就是当点击父节点后展开全部子节点,如果子节点里面还有下级当你点第一下时收回,点第二下结果不是展开子节点而是整个展开的节点全部收回去了。。。。-_-汗~~~~~~~有没有高手帮忙看看应该怎么写