【发布时间】:2018-07-15 08:31:37
【问题描述】:
我看了很多,但我的日期列仍然没有排序, 我可以在我的 gsp 中看到来自后端的代码与按日期升序过滤的方式完全相同
ORDER BY STR_TO_DATE(invoiceDate, '%d-%m-%Y') ASC
但在添加到 DataTable 后,排序不起作用。但是如果 return type 是来自 mysql 的 datetime,则它可以正常工作。
ORDER BY invoiceDate ASC // this works fine
我的前端代码如下:
-
在前端:(日期列左起第三个)
$( document ).ready(function() { $('#customerOutstandingTable').dataTable({ "paging": false, "aaSorting": [[ 2, "asc" ]], }); });
我正在附上图片。
即使我将 datetime 从 front-end 转换为 dd-mm-yyyy,它仍然显示错误。
有什么想法吗?
【问题讨论】:
-
你可以访问底层的排序功能吗?
-
如果数据从服务端来的时候已经排序好了,为什么还要用dataTable来排序呢?看起来日期只是通过传统的字符串排序进行排序,这根本没有考虑到字符串应该是日期。
-
我已经添加了排序,因为它没有正确排序数据,所以我添加了那一行 ' "aaSorting": [[ 2, "asc" ]],' @kshetline
-
您必须将日期格式化为 YYYY-MM-DD,以便基本字符串排序以正确顺序对日期进行排序。如果您将它们保存为 DD-MM-YYYY 形式,则需要自定义排序功能。
-
没有@DiabolicWords
标签: javascript jquery datatable datatables