7

ExtJs 4.1 フレームワークを使用しています。1 つの列 (名前) のみを表示するグリッドがあります。グリッドは、2 つのフィールド (Name と SortOrder) を持つストアに関連付けられています。store のフィールド「name」は、グリッドの Name 列に関連付けられています。ストアの SortOrder フィールドで使用可能な値に基づいて名前列​​を並べ替えたいと思います。そのようなロジックをどのように実装できますか。

ありがとうございました

4

3 に答える 3

20

もう少し簡単な解決策もあります:

..。
列:[{
    ヘッダー:'名前'、
    dataIndex:'名前'、
    並べ替え可能:true、
    getSortParam:function(){
        'SortOrder'を返します;
    }
..。
}]
..。

したがって、doSort()をオーバーライドする代わりに、getSortParam()メソッド(doSort()で使用される)をオーバーライドすることができます。

于 2012-11-16T09:03:24.177 に答える
4

次のような意味ですか。

...
columns: [{
    header: 'Name',
    dataIndex: 'Name',
    sortable: true,
    doSort: function(state){
        var ds = this.up('tablepanel').store;
        ds.sort({
            property: 'SortOrder',
            direction: state
        });
    }
    ....    
}]
于 2012-05-04T08:54:53.973 に答える