Ist es möglich, die Standardspalte so einzustellen, dass sie nach dem Laden der Seite sortiert wird? Ich möchte den einen datierbaren Aufruf für verschiedene Tabellen auf meiner Site verwenden. Ist es möglich, eine th Klasse hinzuzufügen, um dies zu erreichen?

Ich möchte auch die Sortierung für einige Spalten deaktivieren. Da ich nach dem einen Datatables-Aufruf suche, um alles zu erledigen, kann ich dem th eine Klasse hinzufügen, die es unsortierbar macht?

Dies ist mein genanntes dataTable-Skript

if (jQuery().dataTable) {
    $('#table-list-items').dataTable({
        "fnDrawCallback" : function () {
        },
        "aLengthMenu": [
        [10, 15, 25, 50, 100, -1],
        [10, 15, 25, 50, 100, "All"]
        ],
        "iDisplayLength": 25,
        "oLanguage": {
            "sLengthMenu": "_MENU_ Records per page",
            "sInfo": "_START_ - _END_ of _TOTAL_",
            "sInfoEmpty": "0 - 0 of 0",
            "oPaginate": {
                "sPrevious": "Prev",
                "sNext": "Next"
            }
        },
        "aoColumnDefs": [{
            'bSortable': true,
            'aTargets': [0]
        }]
    });
}
32
Pierce McGeough 28 Nov. 2013 im 14:16

5 Antworten

Beste Antwort

Ja, Sie können dies mit der Option aaSorting wie folgt tun:

$('.table-asc0').dataTable({
  aaSorting: [[0, 'asc']]
});

Um die erste Spalte aufsteigend zu bestellen.

$('.table-asc1').dataTable({
  aaSorting: [[1, 'asc']]
});

Für DataTables 1.10 wurde aaSorting durch order ersetzt.

$('.table-asc0').dataTable({
  order: [[0, 'asc']]
});
51
Balthazar 5 Mai 2017 im 14:37

Sie können dies über das Datenattribut data-order im Tabellen-HTML tun, wodurch Sie die Flexibilität erhalten, die Sie auf Tabellenbasis benötigen, und gleichzeitig einen einzigen Aufruf zum Initialisieren Ihrer Datentabellen verwenden können:

<table className="table table-condensed table-striped" data-order="[[ 2, &quot;asc&quot; ]]" id="tableId">
    <thead>
        <tr>
          <th>Col1</th>
          <th>Col2</th>
          <th>Col3</th>
          <th>Col4</th>
          <th>Col5</th>
          <th>Col6</th>
        </tr>
    </thead>
    <tbody>
        <tr>
          <td>Val1</td>
          <td>Val2</td>
          <td>Val3</td>
          <td>Val4</td>
          <td>Val5</td>
          <td>Val6</td>
        </tr>
    </tbody>
</table>
7
lee_mcmullen 14 Dez. 2017 im 11:59

ERSTE BESTELLUNG EINSTELLEN (Datentabellen 1.10)

Verwenden Sie order, um die anfängliche Reihenfolge der Tabelle festzulegen.

So sortieren Sie beispielsweise nach zweiter Spalte in absteigender Reihenfolge:

$('#example').dataTable({
   "order": [[ 1, 'desc' ]]
});

Code und Demonstration finden Sie unter dieser jsFiddle.


SORTIERUNG FÜR EINE SPALTE DEAKTIVIEREN (Datentabellen 1.10)

Verwenden Sie columnDefs und orderable, um die Sortierung für bestimmte Spalten zu deaktivieren.

So deaktivieren Sie beispielsweise die Sortierung nach dritten und vierten Spalten:

$('#example').dataTable({
   "columnDefs": [
      { "targets": [2,3], "orderable": false }
  ]
});

Code und Demonstration finden Sie unter dieser jsFiddle.


ERSTE BESTELLUNG EINSTELLEN UND SORTIERUNG FÜR DIE GLEICHE SPALTE deaktivieren (Datentabellen 1.10)

Sie können die Option order kombinieren, um die anfängliche Reihenfolge der Tabelle und orderable, um die Sortierung in derselben Spalte zu deaktivieren.

Beispielsweise:

$('#example').dataTable({
   "order": [[ 0, 'desc' ]],
   "columnDefs": [
      { "targets": [0], "orderable": false }
  ]
});

Code und Demonstration finden Sie unter dieser jsFiddle.

21
Gyrocode.com 20 März 2018 im 18:12

Ist richtig und funktioniert:

    $('#admin').DataTable({
        "aaSorting": [[3, 'desc']],
        "bPaginate": true,
        "bProcessing": true,
        "columns": [
            {'data' : 'request_code'},
            {'data' : 'name_receiver'},
            {'data' : 'name_area'},
            {'data' : 'created_at'},
            {'data' : 'state'},
            {'data' : 'city'},
            {'data' : 'history'},
        ],
        "ajax": "{{route('my.route.name')}}",
        dom: 'Bfrtip',
        buttons: ['copy', 'excel', 'print'],
    });
0
Dariush 12 Dez. 2018 im 05:59

Fügen Sie einfach den folgenden Code ein:

    $(document).ready(function() {
        $('#tableID').DataTable( {
            "order": [[ 3, "desc" ]]
        } );
    } 
);

Referenz:

https://datatables.net/examples/basic_init/table_sorting.html

0
Akshay Pethani 14 Aug. 2017 im 12:32