ExtJs 4.1 フレームワークを使用しています。1 つの列 (名前) のみを表示するグリッドがあります。グリッドは、2 つのフィールド (Name と SortOrder) を持つストアに関連付けられています。store のフィールド「name」は、グリッドの Name 列に関連付けられています。ストアの SortOrder フィールドで使用可能な値に基づいて名前列を並べ替えたいと思います。そのようなロジックをどのように実装できますか。
ありがとうございました
ExtJs 4.1 フレームワークを使用しています。1 つの列 (名前) のみを表示するグリッドがあります。グリッドは、2 つのフィールド (Name と SortOrder) を持つストアに関連付けられています。store のフィールド「name」は、グリッドの Name 列に関連付けられています。ストアの SortOrder フィールドで使用可能な値に基づいて名前列を並べ替えたいと思います。そのようなロジックをどのように実装できますか。
ありがとうございました
もう少し簡単な解決策もあります:
..。 列:[{ ヘッダー:'名前'、 dataIndex:'名前'、 並べ替え可能:true、 getSortParam:function(){ 'SortOrder'を返します; } ..。 }] ..。
したがって、doSort()をオーバーライドする代わりに、getSortParam()メソッド(doSort()で使用される)をオーバーライドすることができます。
次のような意味ですか。
...
columns: [{
header: 'Name',
dataIndex: 'Name',
sortable: true,
doSort: function(state){
var ds = this.up('tablepanel').store;
ds.sort({
property: 'SortOrder',
direction: state
});
}
....
}]