微軟的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;
       }
     }
    }
   }






發佈了32 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章