उत्तर
आप पेड़ की labelField
संपत्ति का उपयोग कर सकते हैं ताकि यह निर्धारित किया जा सके कि आप प्रत्येक नोड के लिए कौन सी संपत्ति बनना चाहते हैं।
<mx:Tree id="tree" dataProvider="{ac}" labelField="item" />
ये लिंक आप बाहर की मदद करनी चाहिए:
अपने उदाहरण में, यह आप एक ही स्तर के Tree
देना होगा
संपादित करें:ArrayCollection
आपने बनाए गए ऑब्जेक्ट्स जिनमें से प्रत्येक आइटम के साथ मिलान समूह हैं। यदि आप Tree
का उपयोग करना चाहते हैं, तो आपको ऊपर से नीचे तक, श्रेणीबद्ध रूप से सोचने की आवश्यकता है।
शीर्ष-वस्तुएं आपके "समूह" होंगी, जिसमें "आइटम" का प्रतिनिधित्व करने वाली वस्तुओं शामिल हैं। आपके ArrayCollection
में, प्रत्येक इंडेक्स को Object
होना चाहिए, जो बदले में, किसी भी घोंसले वाले बच्चे होते हैं। कृपया ध्यान दें: प्रत्येक ऑब्जेक्ट में अपने घोंसले वाले बच्चों को "बच्चों" नाम की संपत्ति में निर्दिष्ट किया जाना चाहिए।
{name: "Animals", children: new ArrayCollection([ {name: "Dog"}, {name: "Cat"} ])}
यह `वस्तु इस प्रकार पदानुक्रम संरचित है:
वस्तु:
उदाहरण के लिएपशु
|
| - बच्चे
|
कुत्ता
|
बिल्ली
यहाँ से, Dog
और Cat
वस्तुओं भी एक children
संपत्ति अभी तक एक और ArrayCollection
इंगित करता हो सकता है। इसका कोई मतलब भी है क्या?
ध्यान दें कि प्रत्येक ऑब्जेक्ट में समान पहचानकर्ता कैसे होता है। इस मामले में, मैंने लेबल के लिए "नाम" का उपयोग किया जो Tree
में प्रदर्शित किया जाएगा। आप labelFunction
प्रॉपर्टी का उपयोग ऐसे फ़ंक्शन को परिभाषित करने के लिए भी कर सकते हैं जो String
लौटाता है और इस प्रकार यह निर्धारित कर सकता है कि दिए गए नोड के लिए लेबल रन-टाइम पर क्या है।
मैंने अपना ArrayCollection
लिया और इसे एक साधारण एप्लिकेशन में बंडल किया जो इसे Tree
के रूप में प्रदर्शित करता है।
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable] public var ac:ArrayCollection= new ArrayCollection([
{ name: "Animals", children: new ArrayCollection([ {name: "dog"}, {name: "cat"}])},
{ name: "Fruits", children: new ArrayCollection([ {name: "orange"}, {name: "apple"} ])}]);
]]>
</mx:Script>
<mx:Tree dataProvider="{ac}" labelField="name" />
मैं इस तरह से इस्तेमाल किया है और मेरे लिए काम करता है: a link!
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="windowedapplication1_creationCompleteHandler(event)" xmlns:local="*"
width="318" height="400">
<s:layout>
<s:VerticalLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.events.CollectionEvent;
import mx.events.FlexEvent;
protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void
{
refreshTree();
}
private function refreshTree():void{
gc.refresh();
myTree.dataProvider = gc.getRoot();
}
]]>
</fx:Script>
<fx:Declarations>
<s:ArrayCollection id="arcData">
<local:TestItem year="2009" month="Jan" label="Jan Report 1"/>
<local:TestItem year="2009" month="Jan" label="Jan Report 2"/>
<local:TestItem year="2009" month="July" label="July Report 1"/>
<local:TestItem year="2009" month="July" label="July Report 2"/>
<local:TestItem year="2010" month="Feb" label="Feb Report 1"/>
<local:TestItem year="2010" month="Feb" label="Feb Report 2"/>
<local:TestItem year="2010" month="Dec" label="Dec Report 1"/>
<local:TestItem year="2010" month="Dec" label="Dec Report 2"/>
</s:ArrayCollection>
<mx:GroupingCollection2 id="gc" source="{arcData}">
<mx:grouping>
<mx:Grouping>
<mx:fields>
<mx:GroupingField name="year"/>
<mx:GroupingField name="month"/>
</mx:fields>
</mx:Grouping>
</mx:grouping>
</mx:GroupingCollection2>
</fx:Declarations>
<mx:Tree id="myTree" dataProvider="{gc.getRoot()}" labelField="GroupLabel" width="100%" height="100%">
</mx:Tree>
</s:Application>
आप एक फ्लैट ArrayCollection
से एक पदानुक्रमित ArrayCollection
उस में बच्चों नोड के साथ बना सकते हैं।
- 1. WPF: Storyboard.TargetName काम करता है, लेकिन सेटर टार्गेटनाम चलो कहते हैं कि हम इस तरह एक XAML कोड करते नहीं
- 2. रेल - आरएसपीसी - "चलो" और "चलो!" के बीच अंतर
- 3. REXML का उपयोग कर xml फ़ाइल पढ़ना, कहते हैं <UNDEFINED> ...</>
- 4. ओकेकल में "चलो() =" का क्या अर्थ है?
- 5. चलो शेष चौड़ाई भरने दें?
- 6. seq गणना निर्माता क्यों नहीं है "चलो!"
- 7. आबाद सूची <String> प्रपत्र डेटा से struts2 में
- 8. लैम्ब्डा अभिव्यक्ति में "चलो" कैसे करें?
- 9. एसिंक्रोनस विधि से आउटपुट लौटने पर अनुशंसित विधि हस्ताक्षर?</p> <pre><code>public async Task<BitmapSource> GetBitmapAsync(double[] pixels); </code></pre> <p>चलो कहते हैं कि मैं भी इस वर्ग करते हैं:
- 10. मैं एक डेटा कि इस तरह दिखता है कैसे आर
- 11. योजना में का उद्देश्य है (चलो ((सीडीआर सीडीआर))
- 12. जावा कंपाइलर में "चलो अभिव्यक्ति" (LetExpr) का उद्देश्य?
- 13. प्रश्न <<
- 14. उदाहरण चर का उपयोग करते समय चलो() का उपयोग करने से अधिक फायदेमंद है?
- 15. आप IENumerable <Foo> पर क्या कहते हैं?
- 16. मैं क्यों मैं इस तरह कुछ करना चाहता था अजगर
- 17. Django:</p> <pre><code>select columnname from tablename </code></pre> <p>Django ट्यूटोरियल की तरह कहते हैं: "[स्तंभ नाम] से [tablename] का चयन करें"
- 18. ओकंपल को "चलो" और "आरईसी दो" क्यों चाहिए?
- 19. PHP में <<< ईओडी का उपयोग क्या है?
- 20. रेल: एक्सएमएल प्रतिपादन कहते हैं <hash> टैग
- 21. जब आप सामग्री को जोड़ने के लिए उपयोग करते हैं तो आप << ऑपरेटर रूबी में क्या कहते हैं?
- 22. हैकेल - चलो/जहां सूची समझ के बराबर है?
- 23. सी ++ iostream के लिए आवरण वर्ग, एसटीडी की तरह उपयोग धारा संशोधक :: ऑपरेटर <<
- 24. मैं अदालत << MyClass
- 25. सी # एक सूची छंटाई <> टुपल का उपयोग कर?
- 26. जीसीसी द्वारा जुड़े डिफ़ॉल्ट पुस्तकालय?</p> <pre><code>int main() { printf("foo"); return 0; } </code></pre> <p>अब मैं जीसीसी फोन:</p> <pre><code>gcc foo.c </code></pre> <p>जब मैं (जीसीसी फोन नहीं विकल्पों के साथ ऊपर के रूप
- 27. `<< - 'का उपयोग क्यों कर रहा है और मैं इससे कैसे बच सकता हूं?
- 28. मैं इस IQueryable <Patient> DbSet <Patient> में कन्वर्ट करते हैं?
- 29. मैं इस तरह एक पदानुक्रमित वर्ग संरचना है डेटा
- 30. <span /> का उपयोग कर एक अवधि बंद कर सकते हैं?
मैंने कोशिश की लेकिन यह केवल आइटम सूचीबद्ध करता है। मैंने लेबल फ़ील्ड = "समूह" सेट करने का प्रयास किया लेकिन केवल समूहों को सूचीबद्ध किया (उन्हें बच्चों के रूप में आइटम के साथ क्लिक करने योग्य नोड्स में नहीं बनाया गया)। मैं आपके द्वारा पोस्ट किए गए लिंक देखूंगा। – jtorrance
ध्यान में रखना एक बात है, आपके पास घोंसला वाली ऑब्जेक्ट संरचना नहीं है (यानी वस्तुओं को एम्बेडेड w/ऑब्जेक्ट्स में)। नतीजतन, आपका "पेड़" फ्लैट दिखाई देगा क्योंकि इसमें केवल एक स्तर है। मेरे द्वारा पोस्ट किए गए उदाहरण दिखाते हैं कि ऑब्जेक्ट्स में ऑब्जेक्ट्स को घोंसला कैसे करें ताकि आपको पदानुक्रमित दृश्य मिल सके। – bedwyr
क्या वे वास्तव में दिखाते हैं कि फ्लैट/समूहित डेटा से पदानुक्रमित संरचना कैसे उत्पन्न करें? पहला लिंक सिर्फ (कृत्रिम रूप से) सरणी में "बच्चों" नोड्स को जोड़ता है, जबकि दूसरा श्रेणीबद्ध रूप से संरचित ऐरेकोलेक्शन का निर्माण करके शुरू होता है। क्या मैं कुछ भूल रहा हूँ? – jtorrance