Ich verwende das jQuery DataTables-Plugin , um die Tabellenfelder zu sortieren. Meine Frage lautet: Wie deaktiviere ich die Sortierung für eine bestimmte Spalte? Ich habe es mit folgendem Code versucht, aber es hat nicht funktioniert:
"aoColumns": [
{ "bSearchable": false },
null
]
Ich habe auch den folgenden Code ausprobiert:
"aoColumnDefs": [
{
"bSearchable": false,
"aTargets": [ 1 ]
}
]
Dies führte jedoch immer noch nicht zu den gewünschten Ergebnissen.
javascript
jquery
sorting
datatables
Usman
quelle
quelle
Antworten:
Das suchen Sie:
quelle
[-1]
, dann[1]
,[2]
etc? Was bedeutet das-1
?1
Beginnt die Indizierung für Spalten nicht bei dataTables?-1
ist der Index, der vom Ende der Tabelle zählt. (-1
ist die letzte Spalte der Tabelle)-von DataTables-Beispiel - HTML5-Daten- * Attribute - Tabellenoptionen
So Sie verwenden können ,
data-orderable="false"
auf dieth
der Spalte , die Sie wollen nicht sortierbar sein. Beispielsweise kann die zweite Spalte "Avatar" in der folgenden Tabelle nicht sortiert werden:Sehen Sie ein funktionierendes Beispiel bei https://jsfiddle.net/jhfrench/6yxvxt7L/ .
quelle
Um die Sortierung der ersten Spalte zu deaktivieren, versuchen Sie es mit dem folgenden Code in datatables jquery. Die Null steht hier für die Sortierfreigabe.
Deaktivieren Sie die Sortierung für eine Spalte in jQuery-Datentabellen
quelle
Verwenden von Datatables 1.9.4 Ich habe die Sortierung für die erste Spalte mit diesem Code deaktiviert:
BEARBEITEN:
Sie können sogar deaktivieren, indem Sie die
no-sort
Klasse auf Ihrem<th>
,und verwenden Sie diesen Initialisierungscode:
BEARBEITEN 2
In diesem Beispiel verwende ich Datables with Bootstrap nach einem alten Blog-Beitrag. Jetzt gibt es einen Link mit aktualisiertem Material zum Stylen von Datatables mit Bootstrap .
quelle
Ich verwende nur ein benutzerdefiniertes Attribut in thead td und steuere die Sortierung, indem ich diesen attr-Wert automatisch überprüfe.
So wird der HTML-Code sein
Und JavaScript zum Initialisieren von Datentabellen wird sein (es wird die Sortierinformationen dynamisch aus der Tabelle selbst abrufen;)
quelle
data-bSortable
anstelle von verwendenbSortable
.bSortable
ist kein gültiges HTML-Attribut.columnDefs
akzeptiert jetzt eine Klasse. Ich würde sagen, dies ist die bevorzugte Methode, wenn Sie Spalten angeben möchten, die in Ihrem Markup deaktiviert werden sollen:Dann in Ihrem JS:
quelle
Folgendes können Sie verwenden, um bestimmte zu deaktivierende Spalten zu deaktivieren:
Alles was Sie tun müssen, ist das "orderable": false zu der Spalte hinzuzufügen, die Sie nicht sortieren möchten.
quelle
quelle
"bSortable": false, "aTargets": [0]
Versuchen Sie für die Deaktivierung der Sortierung einzelner Spalten Folgendes:
Versuchen Sie für mehrere Spalten dieses Beispiel: Sie müssen nur die Spaltennummer hinzufügen. Standardmäßig beginnt es bei 0
Hier
Column 3
funktioniert nurquelle
Ab 1.10.5 einfach einschließen
in columnDefs und zielen Sie auf Ihre Spalte mit
Tabelle sollte mögen wie:
quelle
Wenn Sie die
orderable
Eigenschaft FIRST column auf false setzen, müssen Sie auch die Standardspalte festlegen,order
da dies sonst nicht funktioniert, da die erste Spalte die Standardreihenfolge ist. Das folgende Beispiel deaktiviert die Sortierung in der ersten Spalte, legt jedoch die zweite Spalte als Standardreihenfolge fest (denken Sie daran, dass die Indizes von dataTables auf Null basieren).quelle
Hier
0
ist der Index der Spalte. Wenn Sie möchten, dass mehrere Spalten nicht sortiert werden, geben Sie die durch getrennten Spaltenindexwerte ancomma(,)
quelle
Um Bhavishs Antwort zu aktualisieren (was meiner Meinung nach für eine ältere Version von DataTables gilt und für mich nicht funktioniert hat). Ich denke, sie haben den Attributnamen geändert. Versuche dies:
quelle
data-orderable
... siehe stackoverflow.com/a/32281113/1430996 .data-sortable
funktioniert auch, aber ich kann nicht finden, wo es dokumentiert ist.Klasse verwenden:
quelle
Dies funktioniert bei mir für eine einzelne Spalte
quelle
Wenn Sie bereits einige Spalten ausblenden müssen, wie ich Nachname Spalte ausblenden. Ich musste nur fname, lname verketten, also habe ich eine Abfrage gemacht, aber diese Spalte vor dem Frontend ausgeblendet. Die Änderungen in Sortierung deaktivieren in solchen Situationen sind:
Beachten Sie, dass ich hier Funktionen zum Ausblenden hatte
Dann habe ich es zusammengeführt
"aoColumnDefs"
quelle
Verwenden Sie den folgenden Code, um die Reihenfolge in der ersten Spalte zu deaktivieren:
Um die Standardbestellung zu deaktivieren, können Sie auch Folgendes verwenden:
quelle
Sie können die Methode .notsortable () für die Spalte direkt verwenden
quelle
Es gibt zwei Möglichkeiten: Eine wird in HTML definiert, wenn Sie Tabellenüberschriften definieren
Eine andere Möglichkeit ist die Verwendung von Javascript. Sie haben beispielsweise eine Tabelle
dann,
quelle
Sie können auch einen negativen Index wie folgt verwenden:
quelle
Der Code sieht folgendermaßen aus:
quelle
Hier ist die Antwort!
targets
ist die Spaltennummer, sie beginnt bei 0quelle
setze die Klasse "no-sort" in die Tabelle und füge dann css .no-sort {Zeigerereignisse: keine! wichtig hinzu; Cursor: Standard! wichtig; Hintergrundbild: keine! wichtig; } Dadurch wird die Pfeilaktualisierung ausgeblendet und das Ereignis im Kopf deaktiviert.
quelle