Как получить все данные из jsonstore в sencha
Утро,
Я создал магазин в моем контроллере следующим образом:
var storeCompanies = new Ext.data.JsonStore({
proxy: new Ext.data.HttpProxy({
type: 'GET',
url: url+'dashboard?Uid='+uid+'&Ude='+ude,
reader: {
type: 'json',
root: 'root',
totalProperty: 'total'
},
headers: {
'Accept' : 'application/json;application/x-www-form-urlencoded',
'Content-Type' : 'application/x-www-form-urlencoded',
},
}),
root: 'd',
type: 'localstorage',
autoLoad : true,
id: 'company_Id',
scope : this,
fields: ['Name']
});
console.log(storeCompanies);
Журнал консоли показывает, что хранилище создается и заполняется правильно. Мне нужно получить все значения для выпадающего списка.
Я пытался это, но он вернулся неопределенным. Вся остальная информация, которую я нашел, кажется, учит тому, как найти только одно значение. Какой самый простой и эффективный способ получить все данные?
3 ответа
Решение
storeCompanies.on('load', function() {
console.log(storeCompanies.data); //<--- data is a Ext.util.MixedCollection
});
Спасибо @Vlad за его вклад. Вот что я остановился на:
storeCompanies.on('load', function() {
numcomps = storeCompanies.data.items.length; //get number of elements in store
for(var ic = 0;ic<numcomps;ic++){
console.log(storeCompanies.data.items[ic].raw);
}
});
Если вам нужно получить все значения в JSonStore, вы можете использовать each(). Вот пример: http://docs.sencha.com/touch/2.2.1/