2011-04-12 10 views
6

मैं के रूप मेंarrystore को सरणी बाध्य करने के लिए कैसे क्रम में ExtJS में कॉम्बो

var cars = new Array('audi','benz','citron','nissan','alto'); 

सरणी हो रहा है पॉप्युलेट करने के लिए मैं नीचे की तरह

var myStore = new Ext.data.ArrayStore({ 
     data : cars , 
     fields : ['names'] 
    }); 

arraystore में यह डेटा शामिल करने के लिए इस सरणी दुकान बाइंडिंग पर चाहते हैं कॉम्बो को

var myCombo = new Ext.form.ComboBox({ 
     store: myStore , 
     displayField: 'name', 
     valueField: 'name', 
     typeAhead: true, 
     mode: 'local', 
     forceSelection: true, 
     triggerAction: 'all', 
     emptyText: 'Select a state...', 
     selectOnFocus: true, 

    }); 

कॉम्बो एक, ख, ग के रूप में सरणी में प्रत्येक शब्द का केवल पहला अक्षर दिखा रहा है, एन, एक

मैं कैसे ठीक से arry मैं उपयोग कर रहा हूँ है प्रोग्रामेटिक से भर जाता है और उसके बाद arraystore को

उत्तर

4

डेटा ArrayStore खपत का स्वरूप सरणियों की एक सरणी है बंधन के रूप में कॉम्बो disply कर सकते हैं। यह काम करने के लिए इस प्रकार की अनुमति चाहिए अपनी दुकान डेटा को पुन: फ़ॉर्मेट:, वैकल्पिक रूप से

for (var i = 0, c = cars.length; i < c; i++) { 
    cars[i] = [cars[i]]; 
} 
+0

मैं समझता हूं कि डाटास्टोर डेटाफॉर्मैट इस तरह से है, लेकिन मुझे किसी भी तरह से सरणी को कॉम्बो में बांधने के लिए सरणी को कन्वर्ट करने की आवश्यकता है। – Jemsworld

+0

यदि आप मूल प्रारूप को नियंत्रित नहीं कर सकते हैं तो सरणी को कोड में परिवर्तित करना एक साधारण बात है। उत्तर अपडेट किया गया। – owlness

8

अगर आप सिर्फ दुकान config के रूप में सरणी पारित:

var cars = [['audi'], ['benz'], ['citron'], ['nissan'], ['alto']]; 

अपने स्वरूप से अपेक्षित स्वरूप में कन्वर्ट सरल पर्याप्त है है, वह भी काम करेंगे (हाल के संस्करण कल्पना करते हुए):

new Ext.form.ComboBox({ 
    store: ['Audi', 'Benz', 'Citron', 'Nissan', 'Alto'] 
}); 

नोट आप ऐसा तो नहीं है displayField/valueField निर्दिष्ट करने की आवश्यकता नहीं है।

संबंधित मुद्दे