Extjs4.1を使用しています。データがレンダリングされて到着したときに、グリッド上のイベントを識別する必要があります。
''afterrender'イベントをチェックしました。しかし、それは早く発火します
grid.on('afterrender', function () {
alert(333);
});
ご意見をお聞かせください
正しいグリッドレンダリングイベントは、データが表示された後ではなく、グリッドがレンダリングされた後に発生します。ストアload
イベントの購読はどうですか?
store.on('load', function() {
...
})
グリッドが最初にデータをロードしたタイミングを知る必要がある場合は、Ext.grid.Panel
viewreadyイベントを使用してください。データがロードされ、グリッド行がレンダリングされたときに発生します。
例:
this.control({
'mygridpanel': {
// select the first record
viewready: function(grid) {
var store = grid.getStore(),
view = grid.getView(),
selModel = grid.getSelectionModel();
if (store.getAt(0)) {
view.focus();
selModel.select(0);
}
},
},
});
この例はinit
、MVCパターンを使用するコントローラーの機能で構成されていますが、MVCパターンを使用しているかどうかわかりませんか?ただし、コメントのスニペットはどちらの方法でも正常に機能するはずです。
また、このイベントは、Ext.grid.Panel
それを起動したオブジェクトを最初の引数として渡します。上記の例からわかるように、これを使用してグリッドへの参照を取得し、ハンドラーで必要なロジックを実行できます。