jquery DataTablesの初期ソートを無効にする方法はありますか?


231

私はjquery DataTablesプラグインを使用しています。彼らのドキュメントから:

並べ替えが有効な場合、DataTablesは初期化時に最初のパスの並べ替えを実行します。この変数を使用して、並べ替えを実行する列と並べ替えの方向を定義できます。aaSorting配列には、最初に列のインデックスと方向文字列(「asc」または「desc」)を含む、ソートされる各列の配列が含まれている必要があります。

並べ替えを有効にして、初期化時にこの最初のパスの並べ替えを無効にすることはできますか?私は現在、初期ソートサーバーサイドを実行しており、ソート機能が必要ですが、この初期ソート機能は必要ありません。

回答:


566

まあ、私は答えが空の配列に「aaSorting」を設定しているのを見つけました:

$(document).ready( function() {
    $('#example').dataTable({
        /* Disable initial sort */
        "aaSorting": []
    });
})

Datatablesの新しいバージョン(> = 1.10)の場合、注文オプションを使用します。

$(document).ready( function() {
    $('#example').dataTable({
        /* No ordering applied by DataTables during initialisation */
        "order": []
    });
})

5
この回答は非常に役立ちましたが、混乱が生じる可能性があることに注意してください。col 0が事前に並べ替えられたascであり、この最初の並べ替えが無効になっている場合、ユーザーが最初にcol 0のヘッダーをクリックすると、昇順で並べ替えられます。ユーザーには、desc順序を期待しているため、何も起こらないように見えます。2回目のクリックで説明がソートされます。これを回避するには、最初のクリックがdescソートasSorting: ['desc', 'asc']aoColumnDefsなるように設定できます。
tomfumb 2014年

8
新しいバージョンの場合、その順序は次のとおりです。[]
Darren

@tomfumb実際には、ソートされていないことを示すGUIがあります。最初のクリックでは、項目が変更されていなくても、アクティブ化されている並べ替えが表示されます。私にはそれで充分です。
ネルソン

2
テーブルレベルでも設定できます-><table data-order="[]">
Howdy_McGee 2018

この解決策は私にとっては<table data-order="[]">うまくいきませんが、私にとってはうまくいきます。
アルパー、


25

これを試して:

$(document).ready( function () {
  $('#example').dataTable({
    "order": []
  });
});

これで問題が解決します。


1

データテーブルオプションにこれを入れてください:

$(document).ready( function() {
  $('#example').dataTable({
    "aaSorting": [[ 2, 'asc' ]], 
    //More options ...

   });
})

これが解決策です: "aaSorting":[[2、 'asc']]、

2テーブルが
asc昇順で3番目の列でソートされることを意味します。


12
問題は、別のソート順を指定する方法ではなく、「初期ソートを無効にする」方法でした。この回答は、別の質問に適しています。
コーディングが
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.