【问题标题】:Column default sorting arrows reordering列默认排序箭头重新排序
【发布时间】:2017-11-08 18:05:13
【问题描述】:

我有一个 JQuery 数据表,我默认根据第一列降序排序。

表格本身工作得很好,但我正在尝试在表格绘制后更改列重新排序箭头按钮的行为,我在下面的屏幕截图中用红色圈出:

当我点击这些小箭头按钮时,对于我点击的列,表格会以升序优先重新排序。例如,如果我在创建日期的箭头上点击一次(UK) 列,表格按这些日期升序重新排序(最早添加的日期出现在表格顶部),这不是我想要的:

我正在寻找的是在第一次点击该列时以降序对表格进行排序,而不是必须点击两次(一次到进入上升并再次下降)。基本上我试图在第一次点击时得到这个结果,但我只在第二次点击时得到它:

是否有一个简单的设置可以添加到我的表格代码中以更改列箭头重新排序的行为?我查看了他们的API 和一些过去的 StackOverflow 问题,但找不到与我的问题相关的任何内容。

如果你想看看,这是我的代码:

self.table = table_dom.DataTable({
    serverSide: true,
    dom: "<'row'<'col-md-3'l><'col-md-5 text-right'B><'col-md-4'f>>" +
        "<'row'<'col-md-12'tr>>" +
        "<'row'<'col-md-5'i><'col-md-7'p>>",
    ajax: '...',
    columns: [
        {data: 'legacy_description', name: 'legacy_description', title: 'P', width: '20px'},
        ...
        {data: 'created', name: 'created', title: 'Date Created (UK)', width: '150px'},
    ...
    ],
    order: [[0, 'desc']],
    responsive: true,
    pageLength: 10,
    ...
});

提前致谢。

【问题讨论】:

    标签: javascript jquery knockout.js datatables


    【解决方案1】:

    使用columns.orderSequence 自定义每列的顺序。

    例如,要先对第三列进行降序排序,请使用以下代码:

    $('#example').DataTable( {
      "columnDefs": [
        { "orderSequence": [ "desc", "asc" ], "targets": [ 2 ] }
      ]
    } );
    

    【讨论】:

      猜你喜欢
      • 2013-10-15
      • 1970-01-01
      • 2020-03-15
      • 2013-01-02
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多