DataTable сортировать возрастающие даты - PullRequest
0 голосов
/ 21 января 2020

возможно ли отсортировать таблицу данных по возрастанию?

Это моя текущая таблица ->

current table

I хочу, чтобы он сортировался как календарь в порядке возрастания, что-то вроде следующего:

22.01
22.01
...
23.01
...
31.01
01.02

 $(document).ready(function () {
        $('#example').DataTable({
            searching: false,
            paging: false,
            bInfo: false,
            order: [[3, "asc"], [2, "asc"], [1, "asc"]],
            columnDefs: [
                {
                    targets: 3,
                    type: 'date',
                    className: 'mdl-data-table__cell--non-numeric'
                }
            ]
        });
    });

Это то, что я сейчас использую, я тоже попробовал type: date-eu.

Заранее спасибо!

Обновление:

Я пошел с чем-то подобным, https://datatables.net/plug-ins/sorting/datetime-moment, отлично работает.

Оцените помощь

Ответы [ 2 ]

0 голосов
/ 21 января 2020

Если вы можете получить свою дату в формате ISO гггг-мм-дд, вы можете использовать атрибут HTML5 порядка данных . Добавьте его в свою ячейку, используя madeCell внутри вашего columnDefs.

  'columnDefs': [
     {
        'targets': 3,
        'createdCell':  function (td, cellData, rowData, row, col) {
           $(td).attr('data-order', row.isodate);
        }
     }
  ]
0 голосов
/ 21 января 2020

Перед выполнением следующих действий ваши даты должны быть отформатированы как MM DD YYYY Попробуйте это: `

let dates = ["01.22.2020", "01.18.2020", "02.02.2020"];
let datesFormatted = [];

dates.forEach(i => {datesFormatted.push(new Date(i))});

datesFormatted.sort(function(a, b) {
  if (a > b) {
    return 1;
  } else {
    return -1;
  }
});

console.info(datesFormatted);

`

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