библиотека jQuery объекты DataTable сортировка по умолчанию
Я пытаюсь установить сортировку по умолчанию для второго столбца в моем jQuery datatable. Он по умолчанию сортирует по индексу 0. Я использую "aaSorting": [[ 1, "asc" ]] синтаксис, но он выделяет столбец, который я не хочу при начальной загрузке. Как я могу установить сортировку по умолчанию для определенного столбца, не выделяя столбец, как если бы сортировка не была задействована, и использовался столбец индекса 0.
9 ответов:
есть несколько вариантов:
сразу после инициализации таблицы данных, убрать классы сортировки на ООО " ТД " элемент элемента tbody.
отключить сортировку классов с помощью http://datatables.net/ref#bSortClasses . Проблема с этим заключается в том, что он отключит классы сортировки для запросов сортировки пользователей, которые могут быть или не быть тем, что вы хотите.
пусть ваш сервер выведет таблицу в вашем требуется порядок сортировки, и не применять сортировку по умолчанию в таблице (
aaSorting:[]).
вот фактический код, который это делает...
$(document).ready(function() { var oTable = $('#myTable').dataTable(); // Sort immediately with column 2 (at position 1 in the array (base 0). More could be sorted with additional array elements oTable.fnSort( [ [1,'asc'] ] ); // And to sort another column descending (at position 2 in the array (base 0). oTable.fnSort( [ [2,'desc'] ] ); } );чтобы столбец не был выделен, измените CSS следующим образом:
table.dataTable tr.odd td.sorting_1 { background-color: transparent; } table.dataTable tr.even td.sorting_1 { background-color: transparent; }
лучший вариант-отключить сортировку и просто поток данных с требуемым порядком сортировки (из базы данных или другого источника). Попробуйте добавить это в свой 'datatable': "bSort": false
Datatables поддерживает HTML5 data - * атрибуты для этой функции.
он поддерживает несколько столбцов в порядке сортировки (он основан на 0)
<table data-order="[[ 1, 'desc' ], [2, 'asc' ]]"> <thead> <tr> <td>First</td> <td>Another column</td> <td>A third</td> </tr> </thead> <tbody> <tr> <td>z</td> <td>1</td> <td>$%^&*</td> </tr> <tr> <td>y</td> <td>2</td> <td>*$%^&</td> </tr> </tbody> </table>теперь мой jQuery просто
$('table').DataTables();и я получаю мои второй и третий столбцы отсортированы в порядке desc / asc.вот некоторые другие хорошие атрибуты для
<table>что я повторно использовать:
data-page-length="-1"установит длину страницы для всех (pass 25 для длины страницы 25)...
data-fixed-header="true"... Сделайте предположение
У меня тоже эта проблема. Я использовал
stateSaveвариант и это сделало эту проблему.
Удалите эту опцию, и проблема будет решена.
просто включите следующий код:
$(document).ready(function() { $('#tableID').DataTable( { "order": [[ 3, "desc" ]] } ); } );полная справочная статья с примера:
https://datatables.net/examples/basic_init/table_sorting.html
Comments