以编程方式在 Dojo Datagrid 中自定义列排序
Posted
技术标签:
【中文标题】以编程方式在 Dojo Datagrid 中自定义列排序【英文标题】:Custom column sorting in Dojo Datagrid programmatically 【发布时间】:2012-08-26 11:58:07 【问题描述】:我以编程方式创建了dojox.grid.datagrid
,我需要对列进行自定义排序。
为此,我尝试使用ItemFileWriteStore.comparatorMap['field'] = comparatorFunc
。但是我的比较器函数永远不会被调用。
知道我在这里缺少什么吗?
【问题讨论】:
可能有人可以为此发布一个 jsfiddle。我也面临同样的问题。 你的comparatorFunc
是什么样的?
问题出在我的比较器函数结构上。问题已解决。
@Lokn 发布你的答案,让其他人从中学习。
【参考方案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是将时间格式值转换为以分钟为单位的数字。
【讨论】:
以上是关于以编程方式在 Dojo Datagrid 中自定义列排序的主要内容,如果未能解决你的问题,请参考以下文章