以编程方式在Dojo Datagrid中自定义列排序

时间:2012-08-31 16:23:08

标签: datagrid dojo

我已经以编程方式创建了dojox.grid.datagrid,我需要对列进行自定义排序。 为此,我尝试使用ItemFileWriteStore.comparatorMap['field'] = comparatorFunc。但我的比较器功能从未被调用过。

对于我在这里缺少的东西有任何想法吗?

1 个答案:

答案 0 :(得分:0)

我在数据网格上进行了自定义排序。 (道场-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是将时间格式值转换为分钟数。