Ich möchte die Datensätze mithilfe von Datentabellen mit Standardreihenfolge basierend auf einer meiner Zeilen mit Datum und Uhrzeit in absteigender Reihenfolge anzeigen. Bitte helfen Sie mir bei der Bearbeitung der jquery-Struktur dafür
So sortieren Sie Datentabellen mit Datum in absteigender Reihenfolge
Sujitha M
Am einfachsten ist es, einen versteckten Zeitstempel vor dem Datum in jedem TD-Tag der Spalte hinzuzufügen, zum Beispiel:
<td class="sorting_1">
<span style="display:none;">1547022615</span>09/01/2019 09:30
</td>
Bei der standardmäßigen Zeichenfolgenreihenfolge würde ein Zeitstempel die Spalte so anordnen, wie Sie es möchten, und sie wird nicht angezeigt, wenn sie im Browser gerendert wird.
-
Hallo Joan, ich habe diese Methode ausprobiert, aber es funktioniert nicht. Es wurde angenommen
1547022615
als String statt als Zahl. Irgendeine Idee?– Sam
23. Juli 2019 um 4:05 Uhr
-
In extremen Fällen müssten Sie es nur mit Nullen auffüllen, damit die Unix-Zeichenfolge richtig verglichen werden kann, richtig, @Sam?
– mickmackusa
1. August 2020 um 5:37 Uhr
-
@mickmackusa tolle Idee. Auffüllen mit Null sollte funktionieren. Die einzige Einschränkung besteht darin, eine vorgegebene Länge (dh die Größe der Zeichenfolge) zu haben, aber es könnte funktionieren. Danke für das Teilen!
– Sam
1. August 2020 um 8:13 Uhr
-
Vielen Dank, es funktioniert perfekt, Prost!
– Soufiane Neffar
20. Januar 2021 um 1:44 Uhr
-
Anstatt ein neues Feld hinzuzufügen, fügen Sie im vorhandenen Datumsfeld Folgendes hinzu:
<td data-sort="@item.Created.ToString("yyyyMMddHHmmssffff")">
– mchar
6. Mai 2021 um 14:45 Uhr
ReSedano
Ich hatte das gleiche Problem. Ich habe das Sortier-Plugin date-eu verwendet, um Daten im Format TT/MM/JJ zu sortieren, und ich habe die folgende JS-Datei eingefügt:
<script src="https://cdn.datatables.net/plug-ins/1.10.11/sorting/date-eu.js" type="text/javascript"></script>
Das hat bei mir funktioniert.
$('#exemple').DataTable({
"order": [[ 3, "desc" ]], //or asc
"columnDefs" : [{"targets":3, "type":"date-eu"}],
});
Lesen Sie auch diesen Beitrag zu Stackoverflow: Sorting date in datatable
Ich habe die Lösung mit der Sortierung des Datums bekommen. Fügen Sie einfach Typ als “Datum” hinzu und in den Zielen müssen Sie die Spaltennummer (Zählung beginnend bei 0) mit Datentabellenoptionen übergeben. Und legen Sie ‘Reihenfolge’ mit Spaltennummer und Formattyp fest. Siehe unten Code,
columnDefs: [ { type: 'date', 'targets': [4] } ],
order: [[ 4, 'desc' ]]
-
Sie können es auch direkt in den Spalten verwenden.
columns: [ { "data": "MyDateField", "type":"date" } ]
– jplara
30. Oktober 2019 um 21:12 Uhr
-
Können Sie Ihr Datumsformat mit dieser Lösung definieren? ZB ‘tt-mm-jjjj’.
– mark_b
29. September 2021 um 14:05 Uhr
Plasbo
Bitte beziehen Sie sich auf diesen Stift: https://codepen.io/arnulfolg/pen/MebVgx
Es verwendet //cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js und //cdn.datatables.net/plug-ins/1.10.12/sorting/datetime-moment. js zum Sortieren von Datentabellen
Um die Tabelle standardmäßig zu sortieren, verwenden Sie:
$.fn.dataTable.moment('DD/MM/YY');
$('#example').DataTable({
"order": [[ 3, "desc" ]]
});
Einfach hinzufügen "type":"date"
direkt in den Spalten wie { "data": "MyDateField", "type":"date" }
.
Geist
<td class="sorting_1">
<span style="display:none;">201909010930</span>09/01/2019 09:30
</td>
Formatieren Sie Ihr Datum in jjjjMMttHHmm. Dies ist Ihr sortierbarer Zeitstempel. Dann blenden Sie das formatierte Datum mit display none aus. Dies ist eigentlich eine weitere Erklärung der Antwort von joan16v
ThivankaW
Ich weiß, das ist ein alter Thread. aber man kann es grundsätzlich verwenden “asortieren”
$('#exemple').DataTable({
"aaSorting": [[3,'desc']],
});
-
Oder
order: [[ 3, 'desc' ]]
seit DataTables v1.10 .– S. Esteves
30. Oktober 2019 um 6:25 Uhr
und wo ist die jQuery-Struktur, bei deren Bearbeitung wir helfen sollen?
– Jeff
14. Juni 2016 um 14:01 Uhr
Übrigens, soweit ich weiß, sollte es bei der Sortierung nach Datum und Uhrzeit einige Einschränkungen geben, wie Datatable den Sortierprozess handhabt
– Lelio Faieta
14. Juni 2016 um 14:02 Uhr
Ich habe es in meinem Projekt getan. Das Datumsformat sollte JJJJ-MM-TT sein. sortiere es *”order”: [[ 3, “desc” ]]* und verstecke das td, th zeige nichts an.
– ThataL
4. März 2019 um 10:56 Uhr