У меня есть DataTable, я использую, который имеет 5 колонок (http://datatables.net/)Как отсортировать по времени (формат: 5:40 PM) в javascript для использования с DataTables?
Столбцы
- Дата в формате: 5 января
- Время в формате: 10:31 (xx: xx XX)
- Столбцы 3, 4, 5 не важны, это всего лишь данные, которые я не забочусь о сортировке до тех пор, пока 1 & 2 верны.
Я хочу, чтобы сортировать по дате FIRST (последнее), тогда я хочу сортировать по времени (последние сверху).
Итак, 5 января, 16:58 должно быть показано до 4:58 утра, и, очевидно, все остальные номера должны работать так же хорошо для всех остальных времен. Формат всегда один и тот же, то есть: 12:34, 16:15, 12:00 и т. Д.
На сегодняшний день это уже отлично работает. В datatable есть только 2 дня данных max, поэтому даже когда он перевернется до 1-го числа месяца, это будет отображаться наверху, что хорошо. Я просмотрел документацию, и я смущен, как сделать правильную сортировку для моего столбца Time.
Вот мой код:
oTable = $('#posts').dataTable({
"bSort": true,
"aaSorting": [ [0,'desc'], [1,'asc'] ],
"aoColumns": [
null,
{ "sType": 'time-sort' },
null,
null,
null
]
});
Это отсюда: http://datatables.net/release-datatables/examples/basic_init/multi_col_sort.html
Я принимаю это сейчас я должен построить своего рода обычаем алгоритм сортировки по времени, используя свойство Stype для «aoColumns» (вы можете увидеть это в приведенной выше ссылке на примере, где он сортирует случай чутко), и у меня нет идеи, как это сделать :(Я не совсем уверен, сделал ли я это до сих пор. Кажется, сортировка этих двух столбцов хорошо, но теперь мне нужно сделать так, чтобы время было правильным ...
Вот другая часть кода, которая, я считаю, мне нужна. (опять же, это из примера). Я на 99% уверен, что это то, где мне нужно ввести свой код времени для сортировки по возрастанию и уменьшению.
/* Define two custom functions (asc and desc) for time sorting */
jQuery.fn.dataTableExt.oSort['time-sort-asc'] = function(x,y) {
return ???;
};
jQuery.fn.dataTableExt.oSort['time-sort-desc'] = function(x,y) {
return ???
};
Так «28 фев» выше «1 марта», но «31 марта» ниже «1 апреля» (то есть календарный порядок наоборот)? – RobG
Theres всего 2 дня максимум данных, но он должен отображать самые последние до самых старых. поэтому 1 апреля наверху, затем 31 марта, 1 марта, 28 февраля (если это показало, что много данных, то есть) – Tallboy
теперь, когда я думаю об этом, я думаю, что дате может понадобиться также специальная сортировка, но это не так важно как раз. я могу понять это в ближайшее время. В соответствии с порядком убывания выше 1-го месяца может быть выше или ниже, что было бы неправильно. – Tallboy