JQuery Datatable - сортировать по нескольким столбцам, если это необходимо - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть эта HTML-таблица:

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 




<table class="table table-bordered" id="resourcesActivitysTable">
            <thead>
            <tr>
                <th>Order</th>
                <th>Priority</th>
                <th>Date</th>
           </tr>
           </thead>
           <tbody>
           <tr>
             <td>SomeString</td>
             <td>1</td>
             <td>28.09.2018</td>
           </tr>
           <tr>
             <td>SomeString</td>
             <td>3</td>
             <td>20.09.2018</td>
           </tr>
           <tr>
             <td>SomeString</td>
             <td>1</td>
             <td>27.09.2018</td>
           </tr>
           </tbody>
</table>
                

Это моя конфигурация с данными:

$('#resourcesActivitysTable').dataTable({

        //"order": [[ 1, 'asc' ]],
        "aaSorting": [[1, "asc"]],
        "iDisplayLength": 10,
        "paging": true,
        "lengthChange": false,
        "searching": false,
        "ordering": true,
        "info": true,
        "autoWidth": false,

        "language": {
            "sEmptyTable": "Keine Daten in der Tabelle vorhanden",
            "sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen",
            "sInfoEmpty": "0 bis 0 von 0 Einträgen",
            "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)",
            "sInfoPostFix": "",
            "sInfoThousands": ".",
            "sLengthMenu": "_MENU_ Einträge anzeigen",
            "sLoadingRecords": "Wird geladen...",
            "sProcessing": "Bitte warten...",
            "sSearch": "Suchen",
            "sZeroRecords": "Keine Einträge vorhanden.",
            "oPaginate": {
                "sFirst": "Erste",
                "sPrevious": "Zurück",
                "sNext": "Nächste",
                "sLast": "Letzte"
            },
            "oAria": {
                "sSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren",
                "sSortDescending": ": aktivieren, um Spalte absteigend zu sortieren"
            }
        },
        "fnDrawCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
            var table = $('#resourcesActivitysTable').DataTable()

            table.rows().every(function (rowIdx, tableLoop, rowLoop) {
                var data = this.data();
                //  getOrderStatus(data.orderID);
            });
        }
    });

Сортировка данных по второму столбцу (Приоритет).

Myпроблема в том, что если приоритет такой же, таблица должна быть отсортирована по столбцу Дата.

Это результат моего желания:

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 




<table class="table table-bordered" id="resourcesActivitysTable">
            <thead>
            <tr>
                <th>Order</th>
                <th>Priority</th>
                <th>Date</th>
           </tr>
           </thead>
           <tbody>
           <tr>
             <td>SomeString</td>
             <td>1</td>
             <td>27.09.2018</td>
           </tr>
           <tr>
             <td>SomeString</td>
             <td>1</td>
             <td>28.09.2018</td>
           </tr>
           <tr>
             <td>SomeString</td>
             <td>3</td>
             <td>20.09.2018</td>
           </tr>
           
           </tbody>
</table>
                

Кто-нибудь знает, как мне отсортировать данные таблицы по дате, если приоритет одинаков?

1 Ответ

0 голосов
/ 28 сентября 2018

Мы можем сделать сортировку по нескольким столбцам в datatable.Пожалуйста, проверьте код ниже,

"order": [[ 0, 'desc' ],[ 1, 'asc' ]]

В приведенном выше 0 указывает на первый столбец в таблице.1 указывает на второй столбец.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...