我想禁用 dataTable API 中的排序属性。我使用 bsort:false 禁用所有列的排序。
这很好用,但第一列仍然显示排序图标。为什么?
$("#reportgrid").DataTable({
"order": [],"bSort" : false,
"iDisplayLength": 10,
"sDom": '<"top">rt<"bottom"lp><"clear">',
});
我将此代码用于数据表。
这是我的网格的快照。其中第一列具有 sorting_asc 的 css,但我已经禁用排序。
那么,如何从第一列中删除排序图标?
我知道这是一篇旧帖子,但我今天遇到了同样的问题,下面的解决方案对我有用。它将删除第一列中的排序图标。
$('#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
});
我找到了答案。 bStorable false 对于每个列,然后仅删除图标。
$("#reportgrid").dataTable({"order": [],
"aoColumns": [
{ "bSortable": false },
{ "bSortable": false },
{ "bSortable": false },
{ "bSortable": false },
{ "bSortable": false },
{ "bSortable": false }
],
"sDom": '<"top">rt<"bottom"lp><"clear">'});
一个非常简单的解决方案,在我的情况下不需要任何 CSS 就可以工作,就是告诉 DataTables 使用顺序初始化属性选项从第二列而不是第一列开始排序(检查数据表参考 - 初始顺序(排序)到适用于表):
"order": [[1, 'asc']]
如果该列禁用排序,这将从第一列中删除排序图标。
尝试最新版本:
$('#reportgrid').dataTable( {
"columnDefs": [
{ "orderable": false, "targets": 0 }
]
} );
根据数据表文档,您可以使用 ordering 选项来启用或禁用列排序
$("#reportgrid").DataTable({
"ordering": false,
"iDisplayLength": 10,
"sDom": '<"top">rt<"bottom"lp><"clear">',
})