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

DataTable jquery - How to remove sort icon from first column?

我想禁用数据表 API 中的排序 属性。我使用 bsort:false 禁用所有列的排序。

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

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

我将此代码用于数据表。

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

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

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

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

我找到了答案。 bStorable false 对于每个列然后只删除图标。

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

试试这个最新版本:

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

一个非常简单的解决方案,在我的情况下不需要 css 就可以告诉 DataTables 通过第二列而不是第一列开始排序,并使用订单初始化 属性 选项(检查数据表参考 - Initial order (sort) to apply to the table):

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

如果第一列的排序被禁用,这将从第一列中删除排序图标。

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

$('#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 
});