библиотека jQuery объекты DataTable сортировка по умолчанию



Я пытаюсь установить сортировку по умолчанию для второго столбца в моем jQuery datatable. Он по умолчанию сортирует по индексу 0. Я использую "aaSorting": [[ 1, "asc" ]] синтаксис, но он выделяет столбец, который я не хочу при начальной загрузке. Как я могу установить сортировку по умолчанию для определенного столбца, не выделяя столбец, как если бы сортировка не была задействована, и использовался столбец индекса 0.

816   9  

9 ответов:

есть несколько вариантов:

  1. сразу после инициализации таблицы данных, убрать классы сортировки на ООО " ТД " элемент элемента tbody.

  2. отключить сортировку классов с помощью http://datatables.net/ref#bSortClasses . Проблема с этим заключается в том, что он отключит классы сортировки для запросов сортировки пользователей, которые могут быть или не быть тем, что вы хотите.

  3. пусть ваш сервер выведет таблицу в вашем требуется порядок сортировки, и не применять сортировку по умолчанию в таблице (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; }

вы можете использовать функцию fnSort, смотрите подробности здесь:

http://datatables.net/api#fnSort

лучший вариант-отключить сортировку и просто поток данных с требуемым порядком сортировки (из базы данных или другого источника). Попробуйте добавить это в свой '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 вариант и это сделало эту проблему.
Удалите эту опцию, и проблема будет решена.

использовать это работает для меня: "порядок": [[ 1, "ASC"]],

это сработало для меня:

       jQuery('#tblPaging').dataTable({
            "sort": true,
            "pageLength": 20
        });

просто включите следующий код:

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

полная справочная статья с примера:

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

Comments

    Ничего не найдено.