2
リモートソートが有効になっているリモートストアにグリッドがリンクされています。ExtJS6 - ASCからDESCへのデフォルトの並べ替え方向
グリッドのヘッダーを初めてクリックすると、列の順序が昇順に設定され、2番目のクリックで降順に設定されます。
最初のクリックを特定の列の降順に移動する方法はありますか?
リモートソートが有効になっているリモートストアにグリッドがリンクされています。ExtJS6 - ASCからDESCへのデフォルトの並べ替え方向
グリッドのヘッダーを初めてクリックすると、列の順序が昇順に設定され、2番目のクリックで降順に設定されます。
最初のクリックを特定の列の降順に移動する方法はありますか?
Hmm ..これを理解するにはかなりの時間がかかりました。デフォルトの方向を変更するための直接APIはないようです。
これは私が最終的に考えていることです。ストアのソーターのdefaultSortDirectionを更新する必要があります。ここで
store.getSorters().$sortable.setDefaultSortDirection('DESC');
が更新ある
あなたが列レベルでデフォルトのソート方向を適用したい場合は、列レベルでtoggleSortStateメソッドをオーバーライドすることができます。ここで
columns: [{
dataIndex: 'id',
text: 'ID',
width: 50,
/**
* Overriding this function to Change the Default Sort Order.
*/
toggleSortState: function() {
if (this.isSortable()) {
var me = this,
grid = me.up('tablepanel'),
store = grid.store,
sortParam = me.getSortParam(),
direction = undefined;
if(!store.getSorters().get(sortParam)) {
direction = 'DESC';
}
this.sort(direction);
}
},
}
は、それが動作Fiddle
おかげで、唯一の欠点は、それはすべてのフィールドのためにそれを変更することで、あなたはそれが選択されたものにのみ適用されている方法があると思いますか? – serg
私の回答を更新しました。 – JChap
完璧、ありがとう! – serg