2012-03-19 13 views
6

में डालें I अंतर्निहित ट्रीस्टोर के साथ नेस्टेडलिस्ट का उपयोग कर रहा हूं। अब मैं नेस्टेडलिस्ट में पत्तियों के रूप में आइटम जोड़ना चाहता हूं। मैं यह कैसे कर सकता हूं?सेन्चा टच 2: ट्रीस्टोर/नेस्टेडलिस्ट

वर्तमान में मेरे कोड (नियंत्रक, onAddButtonTapped) इस तरह दिखता है:

var store = Ext.getStore('menuStore'); 
var customerAreaNode = store.getRoot().getChildAt(1); 
customerAreaNode.appendChild({name: "text", leaf:true}); 
customerAreaNode.expand(); 
store.sync(); 

इस कोड परिणाम पत्ती स्तर पर दो नए खाली listentries (सही नोड के पीछे) और नोड स्तर पर एक नई listentry में। प्रत्येक नई प्रविष्टि में नेस्टेडलिस्ट में कोई नाम नहीं दिखाया गया है लेकिन प्रत्येक आइटम में उनके नाम फ़ील्ड में "टेक्स्ट" होता है। उत्सुकता से पत्ते के स्तर पर नई प्रविष्टियों में से एक अंतर्निहित मॉडल पर टाइप नहीं किया गया है। तो मॉडल इसी तरीकों could't पाया जा:

Uncaught TypeError: Cannot call method 'getSelectedName' of undefined 

किसी को भी एक आसान ट्यूटोरियल कैसे NestedList/TreeStore में डेटा जोड़ने के लिए पता है? मुझे सेन्चा टच डॉक्स में एक अच्छा उदाहरण नहीं मिला।

+0

यह मदद कर सकता है की तरह जड़ और बच्चे नोड्स अद्यतन करने के लिए इस्तेमाल किया: http://stackoverflow.com/questions/9655201/update-a-nested-list-in -सेन्चा-टच -2 --- मेरे मोबाइल पर आईएम इसलिए मैं कोड का परीक्षण नहीं कर सकता, देख सकता हूं कि यह आपको शुरू कर देता है या नहीं –

उत्तर

3

पत्ती वस्तुओं के लिए डिफ़ॉल्ट प्रदर्शन फ़ील्ड "टेक्स्ट" है। You can get the information from here. आप प्रदर्शन क्षेत्र के रूप में "पाठ" का उपयोग करना चाहते हैं, तो आप

customerAreaNode.appendChild({text: "text", leaf:true}); 

को यह लाइन बदलने की जरूरत है या फिर आप अपने नेस्टेड सूची के प्रदर्शन क्षेत्र को बदल सकते हैं, तो अपने मॉडल इस समय के लिए बदलने की जरूरत नहीं है।

yournestedlist.setDisplayField('name'); 

उम्मीद है कि इससे मदद मिलती है।

0

मेरे मामले में मैं निम्नलिखित तरीके

Ext.getStore('Contactsstore').getAt(1).getChildAt(0).set('Email',contactemail);  
Ext.getStore('Contactsstore').getAt(1).set('ContactTitle',contacttitle); 
संबंधित मुद्दे