jQuery DataTables - сортировка фиктивного столбца после изменения значений - PullRequest
0 голосов
/ 18 марта 2020

У меня есть dataTable с фиктивным столбцом, который заполняется после загрузки. Тем не менее, измененный столбец не может быть отсортирован, так как он, кажется, сортирует по исходному значению, извлеченному из базы данных, который является просто пустой строкой. Я также пытался изменить значения порядка данных и сортировки данных ячейки, но это не решило мою проблему. Как я могу указать в dataTable значения сортировки ячеек?

// initialize data table
$('#projects').dataTable( {
    "dom": "<'row'<'col-md-6'l><'col-md-6'f>r>t<'row'<'col-md-6'i><'col-md-6'p>>",
    "order": [[ 1, "desc" ]],
    "columns": [
        { data: 'active', name: 'active' },
        { data: 'name', name: 'name' },
        { data: 'entry_count', name: 'entry_count' }
    ],
    "processing": true,
    "serverSide": true,
    "ajax": "{{{ URL::to('admin/projects/data') }}}"
}).on( 'draw.dt', function () {
    // update dummy column data
    $.ajax({
        type: 'POST',
        url: '/admin/projects/getEntryCount',
        success: function(data) {
            $("table").find('.entry_count').each(function(){
                $(this).html(data[$(this).attr("id")]);
                $(this).parent().attr("data-order",data[$(this).attr("id")]);
            });

        }
    });
});

Контроллер. php

// get table data
public function getData() {
    $projects = DB::table('project')
        ->select(array(
            'id',
            'active',
            'name'
        ));
    // add dummy columns for sorting
    $projects = $projects->addSelect(DB::raw("'' as entry_count"));

    return Datatables::of($projects)
       ->add_column('entry_count', '<p class="entry_count" id="entry_count_{{ $id }}"></p>')
       ->remove_column('id')
       ->make(true);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...