每当 Store 在 Extjs 4.1 中再次加载时读取每条记录

Posted

技术标签:

【中文标题】每当 Store 在 Extjs 4.1 中再次加载时读取每条记录【英文标题】:Read each record whenever Store is loading again in Extjs 4.1 【发布时间】:2013-07-24 18:12:24 【问题描述】:

我有一个带有商店的网格面板,如下所示。我想在商店再次加载时获取每条记录。但不工作

 var store = Ext.create('Ext.data.Store', 
      autoLoad: false,
      fields:['a', 'b', 'c'],
      proxy: 
          type: 'ajax',
          url: 'data.php',
          reader: 
              type: 'json'
                           
      ,
      listeners: 
           load: function ( stores, records, successful, eOpts ) 
                alert(records.data.a); // fails
           
      
);

或者我尝试其他方式,例如

store.load(
params: 
     a: myvariable
,
callback: function (records, operation, success) 
    alert(records.data.a); // fail     
,
scope: this
);

但他们都失败了 怎么做。谢谢

【问题讨论】:

失败意味着?您是否收到错误或无法获取值(空)????检查后端是否提供数据.. records 是一个数据数组。商店再次加载时是否需要获取每条记录? 【参考方案1】:

在回调中,records实际上是一个Models的数组,你可以直接使用records[index]访问记录。您正在使用 .data,它只适用于单个记录:records[index].data

另请注意,从记录中获取数据的最佳做法不是使用.data,而是使用record.get(fieldName)record.getData()[fieldName]

【讨论】:

以上是关于每当 Store 在 Extjs 4.1 中再次加载时读取每条记录的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 4.1 中的分页问题

Extjs 4.1 - 如何将数据从商店加载到另一个商店

从 ExtJs 4.1 存储中删除记录时会触发哪些事件

Extjs 4.1 如何选择组合中的第一项

Extjs 4.1 Combo - 查找记录功能失败

如何在 extJs 4.1 组合框多选中仅选择两个选项