分页中聚集的行数

问题描述

我正在使用带有分页的aggrid(客户端)。

我需要获取当前页面中存在的行数。

当我使用下面的API时,它总是可以统计所有页面中存在的所有行。

gridApi.paginationGetRowCount()

gridApi.getdisplayedRowCount()

gridApi.paginationProxy.masterRowCount

解决方法

您需要的是GridApi.paginationGetPageSize()

  • GridApi.paginationGetRowCount()返回所有页面中的总行数。
  • GridApi.getDisplayedRowCount()返回所有页面的总行数,以及所有展开的行(使用Row GroupingMaster Detail时)。
  • GridApi.paginationProxy是私有财产,不应使用。

如果要获取当前页面中的行数。您可以自己计算该页面的startResultendResult。页面中的行数为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,但是将代码转换为有角度的

应该是微不足道的。

Edit AgGrid Number Of Rows In Current Page