DataTables设置默认排序列并设置无法排序的列
DataTables Set Default sorting column and set unsortable columns
页面加载后,是否可以将默认列设置为排序?我想在我的网站上对不同的表使用一个数据表调用。是否可以添加一个th
类来实现这一点?
我还想禁用对某些列的排序,因为我正在寻找一个数据表调用来完成所有任务,所以有没有一个类可以添加到th中,使其无法排序?
这是我所谓的dataTable脚本
if (jQuery().dataTable) {
$('#table-list-items').dataTable({
"fnDrawCallback" : function () {
},
"aLengthMenu": [
[10, 15, 25, 50, 100, -1],
[10, 15, 25, 50, 100, "All"]
],
"iDisplayLength": 25,
"oLanguage": {
"sLengthMenu": "_MENU_ Records per page",
"sInfo": "_START_ - _END_ of _TOTAL_",
"sInfoEmpty": "0 - 0 of 0",
"oPaginate": {
"sPrevious": "Prev",
"sNext": "Next"
}
},
"aoColumnDefs": [{
'bSortable': true,
'aTargets': [0]
}]
});
}
根据表格排序文档,您可以使用order
选项:
$('.table-asc0').dataTable({
order: [[0, 'asc']]
})
0表示按第一列排序,而asc
表示按升序排序。您可以选择任何其他列,也可以使用desc
。
对于1.10
之前的DataTables版本,您应该使用aaSorting
而不是
$('.table-asc0').dataTable({
aaSorting: [[0, 'asc']]
})
按第一列降序排列:
$('.table-asc1').dataTable({
aaSorting: [[1, 'desc']]
})
设置初始订单(DataTables 1.10)
使用order
设置表格的初始顺序。
例如,按第二列降序排序:
$('#example').dataTable({
"order": [[ 1, 'desc' ]]
});
有关代码和演示,请参阅此jsFiddle。
禁用列排序(DataTables 1.10)
使用columnDefs
和orderable
可以禁用对某些列的排序。
例如,要禁用第三列和第四列的排序:
$('#example').dataTable({
"columnDefs": [
{ "targets": [2,3], "orderable": false }
]
});
有关代码和演示,请参阅此jsFiddle。
为同一列设置初始顺序并禁用排序(DataTables 1.10)
您可以组合order
选项来设置表的初始顺序,orderable
选项来禁用对同一列的排序。
例如:
$('#example').dataTable({
"order": [[ 0, 'desc' ]],
"columnDefs": [
{ "targets": [0], "orderable": false }
]
});
有关代码和演示,请参阅此jsFiddle。
您可以通过表HTML上的data-order
数据属性来实现这一点,这将为您提供逐表所需的灵活性,同时仍然允许您使用单个调用来初始化数据表:
<table className="table table-condensed table-striped" data-order="[[ 2, "asc" ]]" id="tableId">
<thead>
<tr>
<th>Col1</th>
<th>Col2</th>
<th>Col3</th>
<th>Col4</th>
<th>Col5</th>
<th>Col6</th>
</tr>
</thead>
<tbody>
<tr>
<td>Val1</td>
<td>Val2</td>
<td>Val3</td>
<td>Val4</td>
<td>Val5</td>
<td>Val6</td>
</tr>
</tbody>
</table>
是核心并且有效的:
$('#admin').DataTable({
"aaSorting": [[3, 'desc']],
"bPaginate": true,
"bProcessing": true,
"columns": [
{'data' : 'request_code'},
{'data' : 'name_receiver'},
{'data' : 'name_area'},
{'data' : 'created_at'},
{'data' : 'state'},
{'data' : 'city'},
{'data' : 'history'},
],
"ajax": "{{route('my.route.name')}}",
dom: 'Bfrtip',
buttons: ['copy', 'excel', 'print'],
});
只需包含以下代码:
$(document).ready(function() {
$('#tableID').DataTable( {
"order": [[ 3, "desc" ]]
} );
}
);
参考:
https://datatables.net/examples/basic_init/table_sorting.html
如果他们有任何错误,比如"DataTables警告重新初始化",那么你可以使用它。这里的"审核日志"是表id。
$(document).ready(function () {
if ($.fn.dataTable.isDataTable('#audit-log') ) {
table = $('#audit-log').DataTable();
table.destroy();
}
$('#audit-log').DataTable({
order: [[0, 'desc']]
});
});
- 如何设置html元素填充的动画
- 需要帮助设置json数组
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 获取项目的顺序 jQuery 可排序并设置它们的顺序
- DataTables设置默认排序列并设置无法排序的列
- 将列设置为在EasyUI数据网格上按排序显示
- 为未排序列表设置onclick()属性
- 设置排序属性时无法清除数组控制器
- 将对象属性设置为排序结果而不进行排序
- 使用按钮单击将 jQuery UI 可排序元素设置为第一个位置
- 如何在删除之前设置 jquery 可排序目标列表的样式
- 如何使用区域设置在 Chrome 浏览器中对字符串进行排序时进行比较
- 尽管设置了排序函数,但对象的Javascript数组不会进行排序
- 如何设置角度智能表的默认排序顺序
- 无法设置“”的属性;某事“;在尝试创建按日期排序的数组时出现未定义错误
- 如何设置低到高在表排序为默认值
- 如何在表排序器中设置固定的表宽度(不是单元格)
- 在jQuery中为特定ID或整个项目设置“无默认排序”(“aaSorting”:[])
- 在设置变量时对数组进行排序后,原始数组也会被排序
- 将行设置为静态/固定(不可排序)