沉睡森林@漂在北京

          本處文章除注明“轉載”外均為原創,轉載請注明出處。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            152 隨筆 :: 4 文章 :: 114 評論 :: 0 Trackbacks
          下面是html代碼:
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
          <title>Reorder TreePanel</title>
          <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />

              
          <!-- GC -->
               
          <!-- LIBS -->
               
          <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
               
          <!-- ENDLIBS -->

              
          <script type="text/javascript" src="../../ext-all.js"></script>
           
          </head>
          <body>
          <script>
              

          function lookupNode(_root,id){
              
          if(_root){
                  
          var treeId = _root.attributes['id'];
                  
          if(id == treeId){
                      
          return _root;
                  }
                  
          var nodes = _root.childNodes;
                  
          if(nodes.length==0){
                       
          return null;
                  }
                  
          for(var i=0; i<nodes.length; i++){
                      
          if(nodes[i]!=null){
                          
          return lookupNode(nodes[i],id);
                      }
                  }
              }
          }
              
          Ext.BLANK_IMAGE_URL 
          = 'http://localhost:8080/greatwall/script/ext/resources/images/default/s.gif';
          function insertTreeNode(root,pid,nodeConfig){
              
          var pNode = lookupNode(root,pid);
              alert('pNode
          =>'+pNode);
              
              
          if(pNode == null){
                  root.appendChild(
          new Ext.tree.TreeNode(nodeConfig));
              }
          else{
                  pNode.appendChild(
          new Ext.tree.TreeNode(nodeConfig));
              }
          }

          var pWinCmpId = null;


          Ext.onReady(
          function() {

          Ext.QuickTips.init();
          Ext.form.Field.prototype.msgTarget 
          = 'qtip';


          /******************下面開始Body內JavaScript代碼輸出************************/


          function treeClick(node, e){
              
          }

          var sysFunClassTree_root = new Ext.tree.TreeNode({text: "Autos",draggable: false,id: "source"});
          insertTreeNode(sysFunClassTree_root,'',{
          "text":"Form控件","leaf":false,"id":"A00001"});
          insertTreeNode(sysFunClassTree_root,'A00001',{
          "text":"checkbox控件","pid":"A00001",id:"000A01","leaf":false});
          insertTreeNode(sysFunClassTree_root,'A00001',{
          "text":"comboBox控件","pid":"A00001",id:"000B01","leaf":false});
          insertTreeNode(sysFunClassTree_root,'000B01',{
          "text":"radio控件","pid":"000B01",id:"000C01","leaf":false});
          insertTreeNode(sysFunClassTree_root,'000C01',{
          "text":"radio控件222","pid":"000C01",id:"000C01x","leaf":true});
           
           
          var sysFunClassTree = new Ext.tree.TreePanel({
            border: 
          true,
            root: sysFunClassTree_root, rootVisible: 
          true,
            name:'sysFunClassTree',region:'center',width:
          250,nodename:'tree',pidname:'pid',idname:'id',textname:'text',dataXml:'/tagsdemo/tree/data.xml',id:'sysFunClassTree'
          });
           
          sysFunClassTree.on(
          "click", treeClick);

          var viewport_cdb32ddef82f42e3a11d965320b7d09e = new Ext.Viewport({
            layout:'border',
            items:[sysFunClassTree]
          });

          sysFunClassTree_root.expand();
           

           

          /******************Body內JavaScript代碼輸出結束************************/
          });
          </script>

          <div id="divTree"></div>
          </body>
          </html>

          問題很簡單,希望可以利用id獲取到對應的node。這個很多樹菜單都實現了接口,但是ext好像沒有,難道需要自己寫遍歷?

          修改后代碼如下:對遍歷函數處理了一下,樹菜單顯示正常。
          function lookupNode(_root,id){
              
          if(_root){
                  
          var treeId = _root.attributes['id'];
                  
          if(id == treeId){
                      
          return _root;
                  }
                  
          var nodes = _root.childNodes;
                  
          if(nodes.length==0){
                       
          return null;
                  }
                  
          for(var i=0; i<nodes.length; i++){
                      
          if(nodes[i]!=null){
                          
          var xx = lookupNode(nodes[i],id);
                      }
                  }
                  
          return xx;
              }
          }

          posted on 2009-06-11 20:35 王總兵 閱讀(311) 評論(0)  編輯  收藏 所屬分類: Ext
          主站蜘蛛池模板: 韶关市| 无锡市| 二连浩特市| 迭部县| 南漳县| 连南| 孟村| 紫阳县| 综艺| 绿春县| 会理县| 崇州市| 惠州市| 浏阳市| 宜州市| 衡南县| 东城区| 乌苏市| 郯城县| 兰坪| 新昌县| 桃园县| 龙门县| 繁峙县| 茂名市| 息烽县| 辽宁省| 建阳市| 会理县| 渭南市| 法库县| 克东县| 渑池县| 高密市| 百色市| 那坡县| 新乡市| 盱眙县| 盖州市| 延川县| 邵武市|