我有一个 4 列的 DataTable,需要排序,第一列除外。我尝试使用 "columns": [ {"orderable": false}, null, null, null ]
,但第一列在页面加载时显示排序图标(插入符号)。
当我订购另一列时,图标从第一列消失,但仍然存在原来的空间,从而破坏了列宽。有没有什么方法可以真正禁用排序,并且不添加任何特殊的填充?
已解决:
@ShaktiPhartiyal 答案解决了排序问题。通过将 autowidth
选项设置为 false
并使用一些 CSS 解决了宽度问题。
CSS part
table.dataTable thead tr th:first-child,
table.dataTable tbody tr td:first-child {
width: 0px;
}
DataTables options
$(table).DataTable({
"paging": false,
"columnDefs" : [
{ targets: 0, sortable: false},
],
"order": [[ 3, "asc" ]],
"autoWidth": false
});
最佳答案
即使您禁用列排序,数据表排序顺序仍然保留。默认顺序为[0, 'asc']
;只需将顺序设置为针对 #2 列即可:
var table = $('#example').DataTable({
//....
order: [[ 1, "asc" ]] //column indexes is zero based
});
关于javascript - 在 jQuery DataTables 中禁用排序仍然会加载订单图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43470913/