问题描述
我正在使用带有分页的aggrid(客户端)。
当我使用下面的API时,它总是可以统计所有页面中存在的所有行。
gridApi.paginationGetRowCount()
gridApi.getdisplayedRowCount()
gridApi.paginationProxy.masterRowCount
解决方法
您需要的是GridApi.paginationGetPageSize()
。
-
GridApi.paginationGetRowCount()
返回所有页面中的总行数。 -
GridApi.getDisplayedRowCount()
返回所有页面的总行数,以及所有展开的行(使用Row Grouping或Master Detail时)。 -
GridApi.paginationProxy
是私有财产,不应使用。
如果要获取当前页面中的行数。您可以自己计算该页面的startResult
和endResult
。页面中的行数为endResult
-startResult
+ 1
const printPagination = () => {
const currentPage = gridApi.paginationGetCurrentPage();
const totalPage = gridApi.paginationGetTotalPages();
const totalResults = gridApi.paginationGetRowCount();
const pageSize = gridApi.paginationGetPageSize();
const startResult = currentPage * pageSize + 1;
const endResult = Math.min(startResult + pageSize - 1,totalResults);
console.log();
console.log("Page size:",pageSize);
console.log("Current page:",currentPage);
console.log("Total pages:",totalPage);
console.log("Total results:",totalResults);
console.log("Start-end:",startResult,endResult);
console.log("Number of rows in this page:",endResult - startResult + 1);
};
实时示例
下面的实时示例使用React,但是将代码转换为有角度的
应该是微不足道的。