DataTables设置默认排序,而排序设置为false

时间:2019-09-25 00:40:23

标签: datatables columnsorting

我正在尝试按数据表中的列进行排序,同时禁用了排序。

var table = $('#example').DataTable({
    "order": [3,'desc'],
    "ordering": false
});

在本示例中,将通过展示问题来尝试使问题尽可能清楚:http://live.datatables.net/focajayi/1/edit

如您所见,我试图按年龄降序排序,但是除非我将'ordering'设置为true,否则它不会对其进行排序。

我知道我可以用hacks做到这一点,或者到目前为止,我所知道的最漂亮的解决方案是删除ordering属性,而改用columnDefs,这似乎可以按预期工作,但是我会想知道是否有全局解决方案,而不必构建columnDefs数据。

1 个答案:

答案 0 :(得分:0)

经过更多研究,我找到了足够接近的解决方案。 因此,我要做的只是将顺序设置为true,然后在columnDefs中指定它。

var table = $('#example').DataTable({
    "order": [3,'desc'],
    "ordering": true,
    "columnDefs": [{
      "targets": "_all", "orderable": false
    }]
});

原来,可以使用'_all'关键字来应用所有列。 我担心总是必须维护columnDefs列表,但是有了'_all'目标,它是完美的。