【发布时间】:2016-03-29 17:46:34
【问题描述】:
我有一个链接到远程商店的网格,并启用了远程排序。
当我第一次单击网格的标题时,它会将列顺序设置为升序,然后在第二次单击时降序。
有没有办法让第一次点击进入某些列的降序?
【问题讨论】:
我有一个链接到远程商店的网格,并启用了远程排序。
当我第一次单击网格的标题时,它会将列顺序设置为升序,然后在第二次单击时降序。
有没有办法让第一次点击进入某些列的降序?
【问题讨论】:
嗯.. 花了很多时间才弄明白,好像没有直接的 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
【讨论】: