如何按日期降序对数据表进行排序

Suj*_*a M 5 html jquery datatables

我希望根据数据表以默认顺序显示记录,该数据表基于我的其中一行,日期和时间以降序排列。请帮我编辑这个的jQuery结构

在此处输入图片说明

Har*_*dar 12

我得到了日期排序的解决方案。只需将类型添加为“日期”,在目标中,您就可以通过数据表选项传递列号(从 0 开始计数)。并使用列号和格式类型设置“顺序”。看下面的代码,

columnDefs: [ { type: 'date', 'targets': [4] } ],
order: [[ 4, 'desc' ]]
Run Code Online (Sandbox Code Playgroud)


joa*_*16v 8

最简单的方法是在该列的每个TD标签中的日期之前添加一个隐藏的时间戳,例如:

<td class="sorting_1">
    <span style="display:none;">1547022615</span>09/01/2019  09:30
</td>
Run Code Online (Sandbox Code Playgroud)

使用默认的字符串排序,时间戳将按所需的方式对列进行排序,并且在浏览器中呈现时不会显示。

  • 不要添加新字段,而是在现有日期字段中添加以下内容:`&lt;td data-sort="@item.Created.ToString("yyyyMMddHHmmssffff")"&gt;` (2认同)

Blu*_*ter 8

您可以通过在记录中添加数据集属性来进行排序。点击此处了解详情。

例子:

<td data-search="21st November 2016 21/11/2016" data-order="1479686400">
    21st November 2016
</td>
Run Code Online (Sandbox Code Playgroud)

要显示从初始状态排序的数据,请定义一个列来查找排序。例如:

$('#dataTable').DataTable({
    "order": [[10, 'desc']],
});
Run Code Online (Sandbox Code Playgroud)


ReS*_*ano 6

我有同样的问题。我使用date-eu排序插件以DD / MM / YY格式对日期进行排序,并且包含以下JS文件:

<script src="//cdn.datatables.net/plug-ins/1.10.11/sorting/date-eu.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

这对我有用。

$('#exemple').DataTable({
    "order": [[ 3, "desc" ]], //or asc 
    "columnDefs" : [{"targets":3, "type":"date-eu"}],
});
Run Code Online (Sandbox Code Playgroud)

另请阅读有关stackoverflow的帖子:datatable中的排序日期


Pla*_*ebo 6

请参考这支笔:https : //codepen.io/arnulfolg/pen/MebVgx

它使用 //cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js 和 //cdn.datatables.net/plug-ins/1.10.12/sorting/datetime-moment。用于对数据表进行排序的js

默认情况下要对表格进行排序,请使用:

$.fn.dataTable.moment('DD/MM/YY');
$('#example').DataTable({ 
       "order": [[ 3, "desc" ]] 
    }); 
Run Code Online (Sandbox Code Playgroud)


Igo*_*hov 6

"type":"date"只需直接在列中添加即可,例如{ "data": "MyDateField", "type":"date" }.


小智 6

<td class="sorting_1">
    <span style="display:none;">201909010930</span>09/01/2019  09:30
</td>
Run Code Online (Sandbox Code Playgroud)

将日期格式设置为 yyyyMMddHHmm。这将是您的可排序时间戳。然后使用 display none 隐藏格式化日期。这实际上是对joan16v的答案的进一步解释


小智 5

//这里工作代码

$('#table').DataTable({
   columnDefs: [ { type: 'date', 'targets': [3] } ],
   order: [[ 3, 'desc' ]],          
});
Run Code Online (Sandbox Code Playgroud)


Emr*_*lat -1

数据表中的默认排序:

$(document).ready(function() { 
    $('#example').DataTable({ 
        "order": [[ 3, "desc" ]] 
    }); 
});
Run Code Online (Sandbox Code Playgroud)

您可以使用asc进行升序排列。3表示第四列将被默认排序

  • 我用过这个。它适用于正常数据。日期无法正常工作 (7认同)