Я пытаюсь сгенерировать обратную связь с пользователем, используя функцию ajaxProgressiveLoad - например, индикатор процента или количества строк / общего количества строк, чтобы пользователь знал, когда данные в виртуальном DOM завершены.
Я прошел Всего строк из моего ajax ответа, но я не могу получить общее количество записей в таблице. Используя ajaxResponse, я вижу, что он обновляется с использованием getDataCount, но я всегда стесняюсь от общего количества при последнем чтении.
Вот мой конструктор - отметил, что я использовал ajaxResponse, dataLoaded и dataLoading безрезультатно - я по-прежнему стесняюсь.
Неужели мне не хватает другого обратного вызова?
var table = new Tabulator("#example-table", {
height:"600px",
layout:"fitColumns",
ajaxSorting:true,
ajaxFiltering:true,
headerFilterLiveFilterDelay:2000, //wait 600ms from last keystroke before triggering filter
ajaxURL:"Pagination_PL.php", //ajax URL
ajaxProgressiveLoad:"load", //enable progressive loading
ajaxProgressiveLoadDelay:200, //wait 200 milliseconds between each request
ajaxProgressiveLoadScrollMargin:300, //triger next ajax load when scroll bar is 300px or less from the bottom of the table.
ajaxResponse:function(url, params, response){
//url - the URL of the request
//params - the parameters passed with the request
//response - the JSON object returned in the body of the response.
console.log("ajaxResponse")
console.log("Number of Records: " + response.totalItems);
console.log(table.getDataCount());
console.log(table.getDataCount("active")); //return currently filtered data
console.log(table.getDataCount("visible")); //return currently filtered data
return response; //return the response data to tabulator
},
dataLoaded:function(data){
console.log("dataLoaded")
//data - all data loaded into the table
console.log(table.getDataCount());
console.log(table.getDataCount("active")); //return currently filtered data
},
dataLoading:function(data){
console.log("dataLoading")
//data - the data loading into the table
console.log(table.getDataCount());
console.log(table.getDataCount("active")); //return currently filtered data
},
columns:[
{title:"NUMBER", field:"NUMBER", width:150,headerFilter:true},
{title:"STATUS", field:"STATUS", width:100,headerFilter:true }
]