ExtJs 3.3.1 を使用しているのは、多くの拡張機能が 4.xx では機能しないためです。これらの拡張機能の 1 つに LiveGrid があります。試すことはできませんが、4.x のバッファー グリッドでも同様のことが起こると思います。グリッドに表示されている行のレポートを作成すると、バッファリングされた行のみが返され、現在のレコードの位置が変更されますが、残りのレコードの読み込みはレポートの終了後にのみ行われます。すべてのレコードを取得するにはどうすればよいですか?
ボタン ハンドラーで toReport(grid) を呼び出します。
toReport = function(grid){
var store = grid.getStore();
var view = grid.getView();
store.each(function(record) {
Ext.defer(function(){
index = readRow(store, record);
if (index % 10 == 0){
view.focusRow(index);
}
}, 500, this);
});
console.log(output)
}
readRow = function(store, record){
output = "";
for (var xlCol=1;xlCol<record.fields.length+1;xlCol++){
var veld = store.fields.itemAt(xlCol-1).name;
waarde = record.get(veld);
if (realTypeOf(waarde)==="date"){
output += waarde.format("d-m-Y");
}else{
output += record.get(veld);
}
}
console.log(store.indexOf(record)+ " " + output);
return store.indexOf(record);
}