DataTables设置默认排序列并设置不可排序的列

Pie*_*ugh 25 javascript jquery datatables

一旦页面加载,是否可以将默认列设置为排序?我想对我网站上的不同表使用一个数据表调用.是否可以添加一个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]
        }]
    });
}
Run Code Online (Sandbox Code Playgroud)

Bal*_*zar 46

是的你可以使用以下aaSorting选项来做到这一点:

$('.table-asc0').dataTable({
  aaSorting: [[0, 'asc']]
});
Run Code Online (Sandbox Code Playgroud)

要升序第一列.

$('.table-asc1').dataTable({
  aaSorting: [[1, 'asc']]
});
Run Code Online (Sandbox Code Playgroud)

对于DataTables 1.10,aaSorting已被替换为order.

$('.table-asc0').dataTable({
  order: [[0, 'asc']]
});
Run Code Online (Sandbox Code Playgroud)


Gyr*_*com 21

SET INITIAL ORDER(DataTables 1.10)

使用order设置表的初始订单.

例如,要按降序排序第二列:

$('#example').dataTable({
   "order": [[ 1, 'desc' ]]
});
Run Code Online (Sandbox Code Playgroud)

有关代码和演示,请参阅此jsFiddle.


列的禁用分类 (DataTables 1.10)

使用columnDefsorderable禁用某些列的排序.

例如,要禁用第三列和第四列的排序:

$('#example').dataTable({
   "columnDefs": [
      { "targets": [2,3], "orderable": false }
  ]
});
Run Code Online (Sandbox Code Playgroud)

有关代码和演示,请参阅此jsFiddle.


设置初始顺序并禁用同一列的分类 (DataTables 1.10)

您可以组合order选项以设置表的初始顺序并orderable禁用对同一列的排序.

例如:

$('#example').dataTable({
   "order": [[ 0, 'desc' ]],
   "columnDefs": [
      { "targets": [0], "orderable": false }
  ]
});
Run Code Online (Sandbox Code Playgroud)

有关代码和演示,请参阅此jsFiddle.


lee*_*len 6

您可以通过data-order表格HTML上的数据属性执行此操作,这将为您提供逐个表格所需的灵活性,同时仍允许您使用单个调用来初始化您的dataTables:

<table className="table table-condensed table-striped" data-order="[[ 2, &quot;asc&quot; ]]" 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>
Run Code Online (Sandbox Code Playgroud)