0

早晨,

我在我的控制器中创建了一个商店,如下所示:

    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);

控制台日志显示正在正确创建和填充存储。我需要检索下拉列表的所有值。
我试过这个,但它返回未定义。我发现的所有其他信息似乎都在指导如何只找到一个值。检索所有数据最简单、最有效的方法是什么?

4

3 回答 3

2
storeCompanies.on('load', function() {
    console.log(storeCompanies.data); //<--- data is a Ext.util.MixedCollection
});
于 2013-08-08T10:29:22.867 回答
0

感谢@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);
    }
});
于 2013-08-08T10:42:45.027 回答
0

如果您需要检索 JSonStore 中的所有值,您可以使用 each()。这是一个例子:http ://docs.sencha.com/touch/2.2.1/#!/api/Ext.data.JsonStore-method-each

于 2013-08-08T10:20:39.833 回答