DataTables устанавливает сортировку по умолчанию, в то время как порядок установлен на false

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

var table = $('#example').DataTable({
    "order": [3,'desc'],
    "ordering": false
});

Постараюсь максимально ясно продемонстрировать проблему на следующем примере: http://live.datatables.net/focajayi/1/edit

Как вы можете видеть, я пытаюсь отсортировать по возрасту в порядке убывания, но он не будет сортировать его, если только я не установлю для параметра «упорядочение» значение true.

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


person Inc33    schedule 25.09.2019    source источник


Ответы (1)


После небольшого исследования я нашел достаточно близкое решение. Итак, что я сделал, так это просто установил порядок в true, а затем указал его в столбцеDefs.

var table = $('#example').DataTable({
    "order": [3,'desc'],
    "ordering": true,
    "columnDefs": [{
      "targets": "_all", "orderable": false
    }]
});

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

person Inc33    schedule 25.09.2019