Gibt es eine Möglichkeit, die anfängliche Sortierung für jquery DataTables zu deaktivieren?


231

Ich verwende das jquery DataTables- Plugin. Aus ihrer Dokumentation:

Wenn die Sortierung aktiviert ist, führt DataTables bei der Initialisierung eine erste Durchlaufsortierung durch. Mit dieser Variablen können Sie definieren, für welche Spalte (n) die Sortierung durchgeführt wird und in welcher Sortierrichtung. Das aaSorting-Array sollte ein Array für jede zu sortierende Spalte enthalten, das zunächst den Index der Spalte und eine Richtungszeichenfolge ('asc' oder 'desc') enthält.

Ist es möglich, die Sortierung zu aktivieren, diese Sortierung bei der Initialisierung jedoch zu deaktivieren? Ich mache derzeit die erste Sortierserverseite und benötige Sortierfunktionen, benötige diese anfängliche Sortierfunktion jedoch nicht.

Antworten:


566

Nun, ich fand die Antwortmenge "aaSorting" auf ein leeres Array:

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

Bei neueren Versionen von Datentabellen (> = 1.10) verwenden , um Option:

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

5
Diese Antwort war eine große Hilfe, aber es lohnt sich, die mögliche Verwirrung zu erwähnen. Wenn Spalte 0 auf As vorsortiert ist und diese anfängliche Sortierung deaktiviert ist, wird beim ersten Klicken eines Benutzers auf die Überschrift von Spalte 0 in aufsteigender Reihenfolge sortiert. Für den Benutzer sieht es so aus, als ob nichts passiert, da er eine absteigende Reihenfolge erwartet. Ein zweiter Klick sortiert desc. Um dies zu umgehen können Sie einstellen , asSorting: ['desc', 'asc']in aoColumnDefsso dass der erste Klick eine DESC Art ist.
Tomfumb

8
Für neuere Versionen seine Reihenfolge: []
Darren

@tomfumb Tatsächlich gibt es eine GUI, die anzeigt, dass sie nicht sortiert ist. Der erste Klick zeigt an, dass die Sortierung aktiviert ist, obwohl sich die Elemente nicht ändern. Das ist genug für mich.
Nelson

2
Sie können es auch auf Tabellenebene <table data-order="[]">
einstellen

Diese Lösung funktioniert bei mir nicht, aber <table data-order="[]">bei mir.
Alper

101

Gemäß den neuesten API-Dokumenten:

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

Mehr Info


25

Versuche dies:

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

Dies wird Ihr Problem lösen.


1

Geben Sie in datierbare Optionen Folgendes ein:

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

   });
})

Hier ist die Lösung: "aaSorting": [[2, 'asc']],

2bedeutet, dass die Tabelle
ascin aufsteigender Reihenfolge nach der dritten Spalte sortiert wird .


12
Die Frage war, wie man die anfängliche Sortierung deaktiviert und nicht wie man eine andere Sortierreihenfolge angibt. Diese Antwort eignet sich besser für eine andere Frage.
Gone Coding
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.