プログラムで作成しましたdojox.grid.datagrid
が、列のカスタム並べ替えが必要です。このために私はを使用してみItemFileWriteStore.comparatorMap['field'] = comparatorFunc
ました。しかし、私のコンパレータ関数は呼び出されません。
私がここで欠けているものについて何か考えはありますか?
データグリッドでカスタムソートを行いました。(Dojo-1.4) サンプルコードはこちら:
function(response, ioArgs){
queryGrid.queryOptions={ignoreCase:true};
queryGrid.setStore(new dojo.data.ItemFileReadStore(response[responseResult]));
setCustomSort(queryGrid.store);
..
}
function setCustomSort(store){
if(!store.comparatorMap){
store.comparatorMap = {};
}
store.comparatorMap["unresolvedHrs"] = sortNum;
store.comparatorMap["tat"] = sortNum;
}
function sortNum(a, b){
var _a = convertTimeToNum(a);
var _b = convertTimeToNum(b);
var ret = 0;
if (_a > _b) {
ret = 1;
}
if (_a < _b) {
ret = -1;
}
return ret;
}
ここで convertTimeToNum は、時間形式の値を分単位の数値に変換します。