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

3
我希望禁用dataTable API中的排序功能。我使用bsort:false来禁用所有列的排序。
这样做很好,但第一列仍然显示排序图标。为什么?
$("#reportgrid").DataTable({
    "order": [],"bSort" : false,
    "iDisplayLength": 10,
    "sDom": '<"top">rt<"bottom"lp><"clear">',
});

我使用这段代码来创建数据表。

enter image description here

这是我的表格快照。第一列具有sorting_asc的css,但我已经禁用了排序。那么,我该如何从第一列中删除排序图标?
5个回答

6

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

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

感谢您提供的完美解决方案。 - Irshad Khan
不知何故,它通常会加载排序箭头,并在单击下一列排序箭头后才将其删除。 - Kereell

4
一个非常简单的解决方案,在不需要css的情况下也能适用于我这种情况,就是通过指定DataTable从第二列而不是第一列开始排序,使用初始化属性选项进行排序(请查看datatable参考文献 - 要应用于表格的初始排序(排序)):

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

如果为该列禁用排序,则将删除第一列中的排序图标。


4
我找到了答案。对于每个列,将bStorable设置为false,然后只有图标被移除。
$("#reportgrid").dataTable({"order": [],
    "aoColumns": [
    { "bSortable": false },
    { "bSortable": false },
    { "bSortable": false },
    { "bSortable": false },
    { "bSortable": false },
    { "bSortable": false }
],
"sDom": '<"top">rt<"bottom"lp><"clear">'});

2

请尝试以下步骤以获取最新版本:

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

1
根据datatables文档,您可以使用ordering选项来启用或禁用列的排序。
$("#reportgrid").DataTable({
    "ordering": false,
    "iDisplayLength": 10,
    "sDom": '<"top">rt<"bottom"lp><"clear">',
})

它的工作方式与bsort:false相同。但第一列仍显示排序图标。 - Kushal Jain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接