2011-04-14 7 views
5

अगर मैं लिखना:ExtJS treepanel: विस्तार() & expandChildNodes()

rootNode.expand() 

मैं केवल इस rootNode के बच्चों नोड्स तक पहुँच प्राप्त कर सकते हैं, लेकिन यह rootNode के पोते-पोतियों नोड्स के लिए उपयोग नहीं कर सकते । मुझे लिखना है:

rootNode.expandChildNodes() 

इसे प्राप्त करने के लिए।

क्या पेड़ गिरने के बावजूद पोते या आगे के बच्चों के नोड्स प्राप्त करने का कोई और तरीका है? node.eachChild() फ़ंक्शन का उपयोग करने के अलावा? मैंने कोशिश की:

rootChildNode.firstChild 

लेकिन यह काम नहीं करता।

उत्तर

2

ExtJS 4x में पेड़ पैनल घटक पर expandAll() विधि है। यह हर नोड को दोबारा विस्तारित करेगा।

0

यदि आप उस मामले में तो एक partcular स्तर तक विस्तार करना चाहते:

  expandTo:function(level){ 

        treePanel.collapseAll(); 
        treePanel.getRootNode().cascadeBy(function (node) { 

          if (node.getDepth() < level) { node.expand(); } 
          if (node.getDepth() == level) { return false; } 
        }); 
     } 
0

एक और तरीका है वंशजों को पाने के लिए node.expand(true), जहां नोड रूट नोड है उपयोग करने के लिए है। इसी तरह, आप पेड़ के भीतर कोई भी नोड ले सकते हैं और इस कोड का उपयोग करके अपने सभी वंशज नोड्स का विस्तार कर सकते हैं। चयनित नोड के लिए एक आम उपयोग है।