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 に答える