【问题标题】:Custom column sorting in Dojo Datagrid programmatically以编程方式在 Dojo Datagrid 中自定义列排序
【发布时间】:2012-08-26 11:58:07
【问题描述】:

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

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

【问题讨论】:

  • 可能有人可以为此发布一个 jsfiddle。我也面临同样的问题。
  • 你的comparatorFunc是什么样的?
  • 问题出在我的比较器函数结构上。问题已解决。
  • @Lokn 发布你的答案,让其他人从中学习。

标签: datagrid dojo


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-08
    • 2012-06-25
    • 2010-12-01
    • 2016-09-30
    • 1970-01-01
    • 2019-11-24
    • 2022-01-18
    • 2013-09-13
    相关资源
    最近更新 更多