微软的TreeView控件的客户端操作

微软的TreeView控件,呈现到客户端后是html 组件 treeview.htc 在web 根目录的webctrl_client文件夹下,如果,所以安装完微软的IEWebControls后必须确认自己的web根目录下的webctrl_client得htc和资源文件是否完整。
TreeView 空件的命名空间是Microsoft.Web.UI.WebControls,在客户端的输出是treeview.htc。既然是组件,那就有,属性,方法,事件等,我们完全可以在客户端对treeview 操作,减少一些与服务端无谓的交互。

1.取某节点得index

function getNodeIndex(node){
 var strIndex = "";
 if (node != null){ 
     if (node.getAttribute("sibIndex") == null){
        if (node.parentElement == null){ 
               return null; 
        } 
     var col = node.parentElement.children.tags("treenode"); 
     var i = 0; 
     while (col[i] != node) i++; 
          node.setAttribute("sibIndex",i); 
 } 
 strIndex = node.getAttribute("sibIndex"); 
 while (node.getAttribute("parentElement") && node.getAttribute("parentElement").tagName.toLowerCase() == "treenode") { 
     node = node.getAttribute("parentElement");
if (node.getAttribute("sibIndex") == null) 
     return null;
strIndex = node.getAttribute("sibIndex") + "." + strIndex;
}
}
return strIndex;
}
2.取节点id是某各值的节点index
function  getNodeIndexbyId(tTree,strId)
   {
    var objColl=tTree.getChildren();
    for (var i=0;i<objColl.length;i++)
    {
     
if (objColl[i].getAttribute("ID").toString()==strId)
     {
      
      return getNodeIndex(objColl[i]);
      
     }
     else
     {
      var strTemp=getNodeIndexbyId(objColl[i],strId);
      
      if (strTemp!="")
      {
       return strTemp;
      }
     }
    }
    return "";
    
   }
3.展开树上的所有节点
function DoExpand(tTree)
   {
    var objColl=tTree.getChildren();
    for (var i=0;i<objColl.length;i++){
     objColl[i].setAttribute("Expanded",true);
     DoExpand(objColl[i]);
    }
   }
4.判断树上是否含有text是某个指定值的节点
function DoTest(tNode){
    var objColl=tNode.getChildren();
    for (var i=0;i<oColl.length;i++){
     if (objColl[i].getAttribute("text")=="xam"){
         return true; 
     }
     else{
       if(DoTest(objColl[i])==true)
       {
        return true;
       }
     }
    }
   }






评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值