[原创]如何控制TreeView在打开的时候只展开两层?

树的Html代码如下:

 1 None.gif < iewc:TreeView  id ="TreeView1"  style ="Z-INDEX: 101; LEFT: 320px; POSITION: absolute; TOP: 160px"
 2 None.gif                runat ="server" >
 3 None.gif                 < iewc:TreeNode  Text ="Node0" >
 4 None.gif                     < iewc:TreeNode  Text ="Node3" >
 5 None.gif                         < iewc:TreeNode  Text ="Node9" >
 6 None.gif                             < iewc:TreeNode  Text ="Node0" ></ iewc:TreeNode >
 7 None.gif                             < iewc:TreeNode  Text ="Node1" ></ iewc:TreeNode >
 8 None.gif                         </ iewc:TreeNode >
 9 None.gif                         < iewc:TreeNode  Text ="Node10" >
10 None.gif                             < iewc:TreeNode  Text ="Node2" ></ iewc:TreeNode >
11 None.gif                             < iewc:TreeNode  Text ="Node3" ></ iewc:TreeNode >
12 None.gif                         </ iewc:TreeNode >
13 None.gif                     </ iewc:TreeNode >
14 None.gif                     < iewc:TreeNode  Text ="Node4" ></ iewc:TreeNode >
15 None.gif                 </ iewc:TreeNode >
16 None.gif                 < iewc:TreeNode  Text ="Node1" >
17 None.gif                     < iewc:TreeNode  Text ="Node5" >
18 None.gif                         < iewc:TreeNode  Text ="Node11" >
19 None.gif                             < iewc:TreeNode  Text ="Node4" ></ iewc:TreeNode >
20 None.gif                             < iewc:TreeNode  Text ="Node5" ></ iewc:TreeNode >
21 None.gif                         </ iewc:TreeNode >
22 None.gif                         < iewc:TreeNode  Text ="Node12" ></ iewc:TreeNode >
23 None.gif                     </ iewc:TreeNode >
24 None.gif                     < iewc:TreeNode  Text ="Node6" ></ iewc:TreeNode >
25 None.gif                 </ iewc:TreeNode >
26 None.gif                 < iewc:TreeNode  Text ="Node2" >
27 None.gif                     < iewc:TreeNode  Text ="Node7" >
28 None.gif                         < iewc:TreeNode  Text ="Node13" >
29 None.gif                             < iewc:TreeNode  Text ="Node6" ></ iewc:TreeNode >
30 None.gif                             < iewc:TreeNode  Text ="Node7" ></ iewc:TreeNode >
31 None.gif                         </ iewc:TreeNode >
32 None.gif                         < iewc:TreeNode  Text ="Node14" ></ iewc:TreeNode >
33 None.gif                     </ iewc:TreeNode >
34 None.gif                     < iewc:TreeNode  Text ="Node8" ></ iewc:TreeNode >
35 None.gif                 </ iewc:TreeNode >
36 None.gif             </ iewc:TreeView >

别忘了在窗体的onload事件中调用 ExpandOneTwo()函数

None.gif < body  MS_POSITIONING ="GridLayout"  onload ="ExpandOneTwo();" >
None.gif


第1种非递归的方法:

 1 None.gif   function  ExpandOneTwo()
 2 None.gif         {
 3 None.gif        
 4 None.gif             var  NodeArray = new  Array();
 5 None.gif            NodeArray = TreeView1.getChildren();
 6 None.gif             for (i = 0 ;i < NodeArray.length;i ++ )
 7 None.gif            {
 8 None.gif                cNode = NodeArray[i];
 9 None.gif                cNode.setAttribute( " expanded " , " true " );
10 None.gif                 // alert(cNode.getAttribute("Text"));
11 None.gif                  var  cNodeArray = new  Array();
12 None.gif                cNodeArray = cNode.getChildren();
13 None.gif                 for (j = 0 ;j < cNodeArray.length;j ++ )
14 None.gif                {
15 None.gif                  var  ccNode = cNodeArray[j];
16 None.gif                  ccNode.setAttribute( " expanded " , " true " );
17 None.gif                }
18 None.gif            }
19 None.gif         }
20 None.gif

第2种递归的方法:
 1 None.gif < script language = " javascript " >
 2 None.gif        
 3 None.gif          function  ExpandOneTwo()
 4 None.gif         {
 5 None.gif          // alert(arguments[0]);
 6 None.gif             
 7 None.gif             var  c = arguments[ 0 ];
 8 None.gif             var  NodeArray = new  Array();
 9 None.gif             if  (c == null )
10 None.gif            {
11 None.gif                NodeArray = TreeView1.getChildren();
12 None.gif                
13 None.gif                 if  (NodeArray != null )    
14 None.gif                 for ( var  i = 0 ;i < NodeArray.length;i ++ )
15 None.gif                {    
16 None.gif                    cNode = NodeArray[i];
17 None.gif                    cNode.setAttribute( " expanded " , " true " );
18 None.gif                     if  ((cNode.getParent() != null &&  (cNode.getParent().getParent() == null ))
19 None.gif                     return ;
20 None.gif                    ExpandOneTwo(cNode);      
21 None.gif                }
22 None.gif            }
23 None.gif             else
24 None.gif            {
25 None.gif               
26 None.gif                NodeArray = c.getChildren();
27 None.gif                 if  (NodeArray != null )    
28 None.gif                 for ( var  i = 0 ;i < NodeArray.length;i ++ )
29 None.gif                {    
30 None.gif                    cNode = NodeArray[i];
31 None.gif                    cNode.setAttribute( " expanded " , " true " );
32 None.gif                     if  ((cNode.getParent() != null &&  (cNode.getParent().getParent() == null ))
33 None.gif                     return ;
34 None.gif                    ExpandOneTwo(cNode);      
35 None.gif                }
36 None.gif            }
37 None.gif            
38 None.gif            
39 None.gif         }
40 None.gif         </ script >

转载于:https://www.cnblogs.com/goody9807/archive/2005/06/07/169447.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值