要件
グリッド データが並べ替えられるたびに、イベントが実行される前に、extraParams新しい並べ替えプロパティの値でストアを変更したいと考えています。同様に、列NameをDESC方向にソートしている場合-イベントが実行される前に、Name列と方向プロパティDESCextraParamsでストアを上書きしたいと思います。dataIndex
私の店も にremoteSort設定されたプロパティを持っていますtrue。
ExtJS 4.2 を使用しています。
問題
グリッドでイベント リスナーを試しsortchangeましたが、データ API が呼び出されてレコードが読み込まれた後に実行されます。私がしたいのはbeforesortchangeのようなものです。
これですべてremoteSort : true。
this.getStore().load();次の問題は、そこから呼び出すとsortchange、データ API が 2 回呼び出されることです。これは意味がありません。
コード
グリッド リスナー:
sortchange: function(ct, column, direction, eOpts) {
this.getStore().getProxy().extraParams = {
'sort' : column.dataIndex,
'dir' : direction
}
// load() will call the data api again once the data loading is over
//this.getStore().load();
}
グリッドリスナーも試してみましたが、新しいグリッドソートパラメーターを取得できないか、まったく呼び出されません:
beforeload, beforesync, .beforeprefetchload