ページが読み込まれたら、デフォルトの列をソートするように設定することはできますか?サイト全体のさまざまなテーブルに1つのデータテーブル呼び出しを使用したい。これを達成するためにth
クラスを追加することは可能ですか?
また、いくつかの列の並べ替えを無効にしたいのですが、すべてを実行するための1つのデータテーブル呼び出しを探しているので、ソートできないクラスに追加できますか?
これは、呼び出された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]
}]
});
}
ええ、あなたはaaSorting
オプションを使ってそれをすることができます:
$('.table-asc0').dataTable({
aaSorting: [[0, 'asc']]
});
最初の列を昇順で並べます。
$('.table-asc1').dataTable({
aaSorting: [[1, 'asc']]
});
DataTablesの場合1.10
、aaSorting
はorder
に置き換えられました。
$('.table-asc0').dataTable({
order: [[0, 'asc']]
});
SET INITIAL ORDER(DataTables 1.10)
order
を使用して、テーブルの初期順序を設定します。
たとえば、降順で2番目の列で並べ替えるには:
$('#example').dataTable({
"order": [[ 1, 'desc' ]]
});
コードとデモについては this jsFiddle をご覧ください。
列の並べ替えを無効にする(DataTables 1.10)
columnDefs
および orderable
を使用して、特定の列でのソートを無効にします。
たとえば、3列目と4列目の並べ替えを無効にするには:
$('#example').dataTable({
"columnDefs": [
{ "targets": [2,3], "orderable": false }
]
});
コードとデモについては this jsFiddle をご覧ください。
同じ列の初期順序を設定し、並べ替えを無効にする(DataTables 1.10)
order
オプションを組み合わせてテーブルの初期順序を設定し、 orderable
を使用して同じ列でのソートを無効にすることができます。
例えば:
$('#example').dataTable({
"order": [[ 0, 'desc' ]],
"columnDefs": [
{ "targets": [0], "orderable": false }
]
});
コードとデモについては this jsFiddle をご覧ください。
テーブルHTMLのdata-order
データ属性を介してこれを行うことができます。これにより、テーブルごとに必要な柔軟性が得られますが、単一の呼び出しを使用してdataTablesを初期化できます。
<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>
次のコードを含めるだけです。
$(document).ready(function() {
$('#tableID').DataTable( {
"order": [[ 3, "desc" ]]
} );
}
);
参照:
https://datatables.net/examples/basic_init/table_sorting.html
正しく機能している:
$('#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'],
});