1

我知道如何从网格的选定行中获取值,就像这样:

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

但它不专业,我想要更简单和专业的方法。

4

1 回答 1

1

ExtJS 存储提供了一个函数,它为存储中缓存(已加载)的每个记录each应用传递:fn

var myStore = Ext.getCmp('My_Grid').getStore();
myStore.each(function(rec) {
    console.log(rec.get('name'));
});

PS我正在使用console.log();而不是alert();我认为从浏览器日志中读取所有内容更容易。

于 2013-03-05T16:33:23.893 回答