2
我有一個網格鏈接到啓用了遠程排序的遠程存儲。ExtJS6 - 更改網格列從ASC到DESC的默認排序方向
當我第一次點擊網格標題時,它將列順序設置爲升序,然後在第二次點擊時降序。
有沒有辦法讓第一次點擊進入某些列的降序?
我有一個網格鏈接到啓用了遠程排序的遠程存儲。ExtJS6 - 更改網格列從ASC到DESC的默認排序方向
當我第一次點擊網格標題時,它將列順序設置爲升序,然後在第二次點擊時降序。
有沒有辦法讓第一次點擊進入某些列的降序?
嗯..花了相當多的時間來解決這個問題,似乎沒有直接的API來改變默認方向。
這就是我最後想到的,您需要更新商店中分揀機的defaultSortDirection。
store.getSorters().$sortable.setDefaultSortDirection('DESC');
這裏是Fiddle
更新
如果你想在列級應用默認排序方向,那麼你可以在覆蓋列級的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