Почему дата не сортируется идеально в Datatables? - PullRequest
0 голосов
/ 16 апреля 2020

Я пробовал много способов сортировки даты в dataTables, но не работает идеально (например, c или des c). Я обращался в любое место, чтобы найти решение, но не решить.

enter image description here

Ниже приведен метод, который я пробовал, но не работал.

  1. Используйте плагин Date Eu. Здесь 1 , Здесь 2 , Здесь 3

JS

function loadtable(){

    var project = '';

    $.ajax({
        url : url,
        crossDomain: true,
        type : 'POST',
        dataType : 'json',
        data: JSON.stringify({project_id: project_id}),
        success: function(response){
            if (response.status == "Success"){
                $.each(response.data, function(key, value){
                    "<div class='table-responsive'>"+
                        "<table id='' class='table Layer1Table' style='width:100%'>"+
                            "<thead>"+
                                "<tr>"+
                                    "<th>Activity Name</th>"+
                                    "<th>Plan Start Date</th>"+
                                    "<th>Plan Finish Date</th>"+
                                    "<th>Actual Start Date</th>"+
                                    "<th>Actual Finish Date</th>"+
                                "</tr>"+
                            "</thead>";
                            $.each(value.l3_task, function(key, value1){
                                project += 
                                "<tr>"+
                                    "<td>"+value1.task_name+"</td>"+
                                    "<td>"+value1.task_planned_start_date+"</td>"+
                                    "<td>"+value1.task_planned_end_date+"</td>"+
                                    "<td>"+value1.task_start_date+"</td>"+
                                    "<td>"+value1.task_end_date+"</td>"+
                                "</tr>";
                            }); //end of each
                            project +=
                        "</table>"+
                    "</div>";
                }); //end of each
                $("#projectDetail").append(project);
                $('table.Layer1Table').DataTable({
                    processing: true,
                    dom: 'Bfltip',
                    buttons: [
                        { extend: 'excelHtml5' }
                    ],
                    destroy: true,
                    ordering: true,
                    columnDefs: [
                        { type: 'date-eu', targets: 1 }  //example target for planned start date
                    ],
                });
            }
            else {}
        },
        error: function(e){}
    });
}

1 Ответ

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

обратите внимание, что вы используете дату как строку , поэтому она будет сортироваться как обычная строка.

для вашей проблемы вы можете сослаться на это https://datatables.net/plug-ins/sorting/date-uk

спасибо! Удачного кодирования!

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