我正在使用ExtJs 4.1框架。我有一个仅显示一列(名称)的网格。该网格与一个包含两个字段(名称和排序顺序)的存储关联。存储中的“名称”字段与网格的“名称”列相关联。我想根据存储中的SortOrder字段中可用的值对名称列进行排序。我如何实现这样的逻辑。
谢谢
谢谢
还有一个更简单的解决方案:
... columns: [{ header: '名称', dataIndex: '名称', sortable: true, getSortParam: function() { return '排序顺序'; } ... }] ...
因此,您可以只重写getSortParam()方法(该方法由doSort()使用),而无需覆盖doSort()。
...
columns: [{
header: 'Name',
dataIndex: 'Name',
sortable: true,
doSort: function(state){
var ds = this.up('tablepanel').store;
ds.sort({
property: 'SortOrder',
direction: state
});
}
....
}]
在标题单击时的另一种方法。
columns: [
{
header: 'Name',
dataIndex: 'Name',
listeners: {
headerclick: function() {
var store = this.up('grid').getStore();
store.sort({
property: 'SortOrder',
direction: this.sortState
});
}
}
}
]
SortOrder
)有它自己的列,你可能需要给它一个不同的数据索引并覆盖它的getSortParam
函数。虽然不太确定为什么... - Sash