Табулятор: куда добавлять динамические столбцы c при использовании AJAX и AutoColumns = true? - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь использовать функцию автоколонок в Tabulator из данных, возвращаемых из AJAX, а затем динамически добавлять информацию об определении столбца в зависимости от столбца, такую ​​как фильтры, сортировка и т. Д. c. Я попытался добавить как обратные вызовы pageLoaded, так и renderComplete, однако он «перезаписывает» значения фильтра, введенные в поле, когда возвращает новый набор данных. Есть ли идеальный обратный вызов, к которому я могу добавить код, не перезаписывая фильтры, или мне нужно прочитать значения фильтров и применить их обратно?

Вот мой пример заголовка:

var table = new Tabulator("#example-table", {
    height:"600px",
    layout:"fitColumns",
    pagination:"remote",
    paginationSize:25,
    paginationSizeSelector:[10, 25, 50, 100],
    paginationButtonCount:5, 
    ajaxSorting:true,
    ajaxFiltering:true,
    pageLoaded:function(pageno){
        //pageno - the number of the loaded page

        var columns = table.getColumnDefinitions();
        //console.log(columns);
        columns.forEach(column => {
            //console.log(column);
            column.headerFilter = "input";
        });
            table.setColumns(columns);
    },
    ajaxURL:"Pagination.php", //ajax URL
    autoColumns:true
});
...