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

发布于 2024-09-04 10:59:38 字数 158 浏览 4 评论 0原文

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

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

你有想法吗?

谢谢

I have a datatable with day name column. I want to sort this column by day name e.g. if I have [Friday, Monday,Sunday] sorting should return [Monday ,Friday, Sunday] (ascending) and [Sunday,Friday, Monday] (descending).

I tried to use custom sorting but I wasn't able to represent my custom order.

Do you have ideas ?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

書生途 2024-09-11 10:59:38

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

 // 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;
   };

和列定义:

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

];

希望这有帮助

I found a solution for my problem. I created a hidden column with numeric values. The sorting will be based in this column. This is the custom sort function

 // 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;
   };

And the column defs :

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

];

Hope this helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文