Как получить все данные из 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/

Другие вопросы по тегам