我知道如何从网格的选定行中获取值,如下所示:
var records = Ext.getCmp('My_Grid').getSelectionModel().getSelection();
var record = records.length === 1 ? records[0] : null;
alert(record.get('name'));
但我想要的是获得网格所有行的name
。为此,我使用了上面的方法来编写这个函数函数:
var MonTableau = new Array();
for (var j=0; j<=Ext.getCmp('My_Grid').getStore().getCount()-1; j++) {
Ext.getCmp('My_Grid').getView().select(j);
var records = Ext.getCmp('My_Grid').getSelectionModel().getSelection();
var record = records.length === 1 ? records[0] : null;
MonTableau[j+1]=record.get('name');
}
但它不专业,我想要更简单和专业的方法。
答案 0 :(得分:1)
ExtJS商店提供each
函数,该函数为商店中的每条记录缓存(已加载)应用传递的fn
:
var myStore = Ext.getCmp('My_Grid').getStore();
myStore.each(function(rec) {
console.log(rec.get('name'));
});
P.S。我正在使用console.log();
而不是alert();
因为我认为从浏览器日志中读取所有内容会更容易。