2015-06-04 2 views
0

У меня есть datatable, у которого есть столбец Date/Time. Но у меня есть свои даты, чтобы они показывались как «Через три часа» или «Три дня назад». Это означает, что когда я нажимаю на этот столбец для сортировки, он сортирует их по алфавиту. Я хочу отсортировать этот столбец по фактической дате. Могу ли я установить данные этого столбца на фактическую дату и установить метку ее как эту более красивую дату? Мой источник данных для данных datatables - это HTML DOM не ajax.Как я могу использовать разные данные для отображения и сортировки столбца с jquery Datatables?

ответ

2

Выяснил это. Я добавил фактическую дату в качестве дополнительной колонки и сделал ее невидимой. Затем я использовал orderData, чтобы сделать хороший порядок дат, основываясь на столбце дополнительной даты.

Я добавил «columnDefs»: часть моей инициализации, чтобы сделать это.

pendingTasksTable = $("#requestsTable").DataTable({ 
    order: [2, 'desc'], 
    "bPaginate": true, 
    "bLengthChange": false, 
    "bFilter": true, 
    "bInfo": true, 
    "bAutoWidth": false, 
    pageLength: 12, 
    "columnDefs": [ 
     {"orderData": [4], "targets": 2}, 
     {"visible": false, "targets": [4]} 
    ] 

}); 
+0

Вы также можете использовать HTML 'атрибутов данных sort', как показано в [пример] (http://datatables.net/examples/advanced_init/html5-data-attributes.html) вместо скрытого решения колонки что делает его несколько простым. –