【问题标题】:How do I retrieve all data from jsonstore in sencha如何从 sencha 的 jsonstore 中检索所有数据
【发布时间】:2013-08-09 23:46:44
【问题描述】:

早上,

我在我的控制器中创建了一个这样的商店:

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

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

【问题讨论】:

    标签: extjs jsonstore


    【解决方案1】:

    感谢@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);
        }
    });
    

    【讨论】:

    • 如果需要原始数据,只需:console.log(storeCompanies.proxy.reader.rawData);
    • 还有:var numcomps = storeCompanies.count();
    【解决方案2】:
    storeCompanies.on('load', function() {
        console.log(storeCompanies.data); //<--- data is a Ext.util.MixedCollection
    });
    

    【讨论】:

    • 感谢@Vlad 为我指明了正确的方向。我会添加我的答案。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2015-10-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2016-05-24
      • 2014-03-30
      • 1970-01-01
      • 2021-10-26
      • 2017-01-25
      相关资源
      最近更新 更多