根据ExtJs 4.1网格中的另一列对一列进行排序

Sha*_*der 7 extjs4.1 extjs-stores extjs-grid

我正在使用ExtJs 4.1框架.我有一个网格,只显示一列(名称).网格与具有两个字段(Name和SortOrder)的商店相关联.商店中的"名称"字段与网格的"名称"列相关联.我想根据商店中SortOrder字段中可用的值对名称列进行排序.我怎样才能实现这样的逻辑.

谢谢

Ars*_*hak 20

还有一个更简单的解决方案:

...
columns: [{
    header: 'Name',
    dataIndex: 'Name',
    sortable: true,
    getSortParam: function() {
        return 'SortOrder';
    }
...
}]
...

因此,不要重写doSort(),而是覆盖getSortParam()方法(由doSort()使用).

  • 绝对好多了,因为它是一种公共方法.谢谢! (3认同)

Sud*_*oti 4

你的意思是这样的吗:

...
columns: [{
    header: 'Name',
    dataIndex: 'Name',
    sortable: true,
    doSort: function(state){
        var ds = this.up('tablepanel').store;
        ds.sort({
            property: 'SortOrder',
            direction: state
        });
    }
    ....    
}]
Run Code Online (Sandbox Code Playgroud)