私はExtJs 4.1フレームワークを使用しています。私は1つの列(名前)を示すグリッドを持っています。グリッドは、2つのフィールド(NameおよびSortOrder)を持つストアに関連付けられています。格納されている「名前」フィールドは、グリッドの「名前」列に関連付けられています。ストアのSortOrderフィールドで使用できる値に基づいて名前列を並べ替える必要があります。どのように私はそのようなロジックを実装できますか?あなただけ上書きすることができます)ExtJs 4.1グリッドの別の列に基づいて1つの列を並べ替える
... columns: [{ header: 'Name', dataIndex: 'Name', sortable: true, getSortParam: function() { return 'SortOrder'; } ... }] ...
ので、代わりのdoSortを(オーバーライド:
...
columns: [{
header: 'Name',
dataIndex: 'Name',
sortable: true,
doSort: function(state){
var ds = this.up('tablepanel').store;
ds.sort({
property: 'SortOrder',
direction: state
});
}
....
}]
ありがとうございました。なぜ彼らはExt.grid.column.Columnのドキュメントに「doSort」を入れていないのだろうかと思います。 +1 – T1000
Ext.grid.column.Column.doSort()は内部処理に使用されるプライベートメソッドなので、一般的には私たちが使用することはお勧めしません。このため、ドキュメンテーションでは、具体的に検索したり、プライベート機能の表示を有効にしたりしない限り、表示されません。 – Yetti