4

我以dojox.grid.datagrid编程方式创建了一个,我需要对列进行自定义排序。为此,我尝试使用ItemFileWriteStore.comparatorMap['field'] = comparatorFunc. 但是我的比较器函数永远不会被调用。

知道我在这里缺少什么吗?

4

1 回答 1

0

我已经对数据网格进行了自定义排序。(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 是将时间格式值转换为以分钟为单位的数字。

于 2013-10-03T08:14:52.110 回答