jQuery DataTables: отображать строки в исходном порядке источника данных, сохраняя возможность сортировки доступной - PullRequest
3 голосов
/ 07 марта 2019

Я хочу отобразить список элементов в том порядке, в котором они первоначально были возвращены из моего источника данных, но при этом дать пользователю возможность сортировать по столбцам, если они того пожелают.

Чтобы сделать это, я установил для атрибута order значение false следующим образом:

$('#table_id').DataTable({
    order: false;
 });

Однако это скрывает символы каретки вверх / вниз, эффективно отключая сортировку. Кажется, что они появляются, только если вы установили порядок для массива массивов (например, [[1, "asc"]]).

Я изучил атрибут bSort, но, похоже, он не работает ..

Любые идеи о том, как я могу отобразить список в порядке, в котором он идет первым?

Примечание. Источником данных является веб-служба, которая возвращает блок html с требуемым порядком элементов.

Ответы [ 2 ]

5 голосов
/ 07 марта 2019

Вам необходимо установить опцию order, которая определяет начальный порядок сортировки (в виде массив ), чтобы очистить массив, чтобы он сохранял ваши записи данных в ихоригинальный порядок, позволяя пользователям впоследствии сортировать таблицу:

$('#table_id').DataTable({
    order: [];
});
2 голосов
/ 07 марта 2019

Для более старой версии используйте

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

, более новые версии

$(document).ready( function() {
    $('#example').dataTable({
        /* No ordering applied by DataTables during initialisation */
        "order": []
    });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...