带分页的 aggrid 中的行数

Row count in aggrid with pagination

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

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

当我使用下面的 api 时,它总是给我所有页面中存在的所有行的计数。

gridApi.paginationGetRowCount()

gridApi.getDisplayedRowCount()

gridApi.paginationProxy.masterRowCount

您需要的是GridApi.paginationGetPageSize()

  • GridApi.paginationGetRowCount() returns 所有页面的总行数。
  • GridApi.getDisplayedRowCount() returns 所有页面的总行数,加上所有展开的行(使用 Row Grouping or Master 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,但将该代码转换为 angular

应该很简单