如何禁用数据表默认排序?

时间:2015-06-19 17:37:00

标签: jquery datatable datatables

我从数据库中提取记录并在表格中显示。而对于搜索我使用的数据表。但我想禁用数据表的默认排序。所以我尝试使用以下代码禁用排序

    $('#offer_table').dataTable({
         "aaSorting": []
  });

它的工作完美,但问题是,它显示了一些警告

you cannot reinitialize datatable

如何解决这个问题?可能是这个问题很愚蠢但很遗憾我在谷歌尝试解决这个问题,但我无法修复。谢谢。

2 个答案:

答案 0 :(得分:2)

这可能由于某些原因而发生,但通常是因为您尝试初始化两次或在初始化后设置属性。

有关此问题的详细信息,请查看此link

答案 1 :(得分:1)

是的,只是为了添加到douglasf89的答案,你可能试图初始化Datatable两次。如果必须这样做,首先需要致电

yourTable.destroy();
初始化之间的

因此,以下代码有效:

function createTable() {
  yourTable = $('#offer_table').dataTable({
     "aaSorting": []
  });
}
createTable();
yourTable.destroy();
createTable();

尽管如此,link更彻底地回答了你的问题。

虽然您的问题可能不是由aaSorting引起的,但还有其他语法可以实现此目的。 Legacy Datatables doc - (legacy.datatables.net/ref),您可以用

代替aaSorting
$('#example').dataTable( {
  "bSort": false
} );

要禁用特定列的排序,请使用

$('#example').dataTable( {
    "aoColumnDefs": [
      { "bSortable": false, "aTargets": [ 0 ] }
] } );

要更改默认列以进行排序,请使用

var oTable = $('#example').dataTable();

// Sort immediately with columns 0 and 1
oTable.fnSort( [ [0,'asc'], [1,'asc'] ] );