0

グリッドのマルチソートを実装しています。このためにイベントを使用したいのですが、sortchangeイベントをキャンセルして、独自の並べ替え構成でストアを呼び出すことができるようにする必要があります。

これは機能しませんでした:

oGrid.on('sortchange', function(oColumnContainer, oColumn, strSortOrder){
  //...
  return false;
})
4

1 に答える 1

0

自分で解決策を見つけました。

マルチソートが必要な場合はsortable: false、作成時にグリッド上のすべての列をに設定します(これをオンザフライで実行することはできないようです)

次にon('headerclick、グリッドを作成した直後に、function(){...})`をすべての列オブジェクトに設定します。

は、ヘッダーのクリックイベントがテーブルを並べ替えるのsortable: falseを防ぎますが、後でsort()、保存された列を使用してプログラムでストアを呼び出すことができます。

var oGrid = Ext.create( 'Ext.grid.Panel', {
  ...
  columns: [
    { ..., sortable: false }
  ]
});

for( i in oGrid.columns ) {
  oGrid.columns[i].on('headerclick', function(){...});
}
于 2013-02-19T17:09:10.990 に答える