Сортировать столбцы в DataTables по типу данных вместо форматированной строки из AJAX - PullRequest
0 голосов
/ 26 марта 2020

Когда мы создаем HTML на стороне сервера и только затем применяем DataTables, мы можем поместить необработанные данные в атрибут data-sort и отформатированное значение в текст ячейки, и он будет правильно сортировать столбец.

Я нуждаюсь в этом, но данные поступают как json, и я добавляю их как DataTable({data: object}).

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

Мне понадобится несколько параметров columnDefs, чтобы предоставить необработанные данные для сортировки, но не могу найти, как это сделать. Есть идеи?

1 Ответ

0 голосов
/ 03 апреля 2020

Я разобрался!

1) В ответе веб-службы убедитесь, что есть поле с правильным типом данных, которое будет использоваться при сортировке. Если (не рекомендуется) данные форматируются в строку в приложении, а не в DataTables, добавьте поле для форматированной строки и другое поле для правильного типа данных

2) В настройках DataTables * Область 1005 *, как обычно установите соответствующий столбец, связанный с соответствующим полем

3) если DataTables отвечает за форматирование, как обычно, добавьте параметр render для этого

4) вернуться в область columns, добавить новый столбец в конец списка, связанный с соответствующим полем типа данных, и добавить к нему visible: false, таким образом, этот столбец будет доступен для использования другими настройками и функциями, но визуально визуализироваться не будет

5) в области columnDefs, добавьте { "orderData": 8, "targets": 5 }, таким образом, когда столбец 5 упорядочен, DataTables вместо этого будет использовать столбец 8, так как новый столбец 8 добавлена ​​невидимая колонка (4)

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