DataTable jquery - 如何从第一列中删除排序图标?

时间:2016-09-02 06:28:58

标签: jquery css sorting datatable removeclass

我想在dataTable API中禁用sort属性。我使用bsort:false来禁用所有列的排序。

这很好,但仍然是第一列显示排序图标。为什么?

$("#reportgrid").DataTable({
    "order": [],"bSort" : false,
    "iDisplayLength": 10,
    "sDom": '<"top">rt<"bottom"lp><"clear">',
});

我将此代码用于dataTable。

enter image description here

这是我网格的快照。其中第一列有sorted_asc的css,但我已经禁用了排序。

那么,如何从第一列中删除排序图标?

5 个答案:

答案 0 :(得分:3)

我找到了答案。 b为每个列添加了false,然后只删除了图标。

$("#reportgrid").dataTable({"order": [],
    "aoColumns": [
    { "bSortable": false },
    { "bSortable": false },
    { "bSortable": false },
    { "bSortable": false },
    { "bSortable": false },
    { "bSortable": false }
],
"sDom": '<"top">rt<"bottom"lp><"clear">'});

答案 1 :(得分:2)

我知道这是一篇过时的文章,但是今天我遇到了同样的问题,下面的解决方案对我有用。它将从第一列中删除排序图标。

$('#table').dataTable({
     'columnDefs': [{ 'orderable': false, 'targets': 0 }], // hide sort icon on header of first column
     'aaSorting': [[1, 'asc']] // start to sort data in second column 
});

答案 2 :(得分:1)

尝试使用最新版本:

$('#reportgrid').dataTable( {
  "columnDefs": [
    { "orderable": false, "targets": 0 }
  ]
} );

答案 3 :(得分:0)

根据datatables文档,您可以使用ordering选项启用或禁用列的排序

$("#reportgrid").DataTable({
    "ordering": false,
    "iDisplayLength": 10,
    "sDom": '<"top">rt<"bottom"lp><"clear">',
})

答案 4 :(得分:0)

一种非常简单的解决方案(在我的情况下无需使用CSS即可工作)是告诉DataTables从第二列开始而不是使用order initialize属性选项对第一列进行排序(请检查数据表引用-Initial order (sort) to apply to the table ):

"order": [[1, 'asc']]

如果该列被禁用排序,则会从第一列删除排序图标。