按日期名称对数据表列进行排序

时间:2010-06-09 08:59:01

标签: sorting yui-datatable

我有一个带有日期名称列的数据表。我想按天名称对此列进行排序,例如如果我[星期五,星期一,星期日]排序应该返回[星期一,星期五,星期日](升序)和[星期日,星期五,星期一](降序)。

我尝试使用自定义排序,但我无法表示自定义排序。

你有想法吗?

由于

1 个答案:

答案 0 :(得分:1)

我找到了解决问题的方法。我创建了一个带有数值的隐藏列。排序将基于此列。这是自定义排序功能

 // Custom function to sort  Column  by another Column
   var mysortFunction = function(a, b, desc) {
             // Deal with empty values
             if(!YAHOO.lang.isValue(a)) {
                 return (!YAHOO.lang.isValue(b)) ? 0 : 1;
             } else if(!YAHOO.lang.isValue(b)) {
                 return -1;
             }

             //  compare column values
             var comp = YAHOO.util.Sort.compare;
             var compState = comp(a.getData("myhiddenColumn"), b.getData("myhiddenColumn"), desc);
             return  compState;
   };

列defs:

    var myColumnDefs = [
           { key: "A", sortable:true,hidden:true },
           { key: "columnToSort",label:"ABC",  sortable:true, sortOptions: { sortFunction: mysortFunction }
    { key: "myhiddenColumn", sortable:true, hidden:true  }
    }

];

希望这有帮助