我以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 是将时间格式值转换为以分钟为单位的数字。