要件
グリッド データが並べ替えられるたびに、イベントが実行される前に、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
, .beforeprefetch
load