Таблица данных сортирует по дате, сортирует только день

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

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

Мой сценарий:

<script>
$(function(){
/* Initialize Bootstrap Datatables Integration */
App.datatables();

/* Initialize Datatables */
$('#manage-table').dataTable({
"aoColumnDefs": [ { "bSortable": false, "aTargets": [ 0 ] } ],
"iDisplayLength": 10,
"aLengthMenu": [[10, 20, -1], [10, 20, "All"]],
"aaSorting": [[ 3, "desc" ]] //date column

});

/* Add placeholder attribute to the search input */
$('.dataTables_filter input').attr('placeholder', 'Search');
});
</script>

2

Решение

Вам нужно расширить функциональность сортировки DataTables для сортировки дат в формате DD-MM-YYYY, Судя по вашему коду инициализации, скорее всего вы используете DataTables 1.9.x.

Смотрите обновленный код ниже, я пропустил код, который не был изменен:

jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"date-uk2-pre": function (a) {
if (a == null || a == "") {
return 0;
}
var ukDatea = a.split('-');
return (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
},
"date-uk2-asc": function (a, b) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"date-uk2-desc": function (a, b) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
});

/* Initialize Datatables */
$('#manage-table').dataTable({
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 0 ] },
{ "sType": "date-uk2", "aTargets": [ 3 ] }
],
"iDisplayLength": 10,
"aLengthMenu": [[10, 20, -1], [10, 20, "All"]],
"aaSorting": [[ 3, "desc" ]] //date column
});

Я модифицировал оригинал date_uk Плагин сортировки для сортировки по DD-MM-YYYY вместо DD/MM/YYYY,

Увидеть DataTables 1.9.x date_uk плагин сортировки или же DataTables 1.10.x date_uk плагин сортировки для дополнительной информации.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]