You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API返回值设置ag-grid分页面板的总行数与总页数

ag-Grid分页面板自定义总记录数实现方案

核心需求:将分页面板默认展示的本地行数据总计数,替换为API接口返回的自定义总数值(例如示例中的8000)。
以下是兼容官方规范、不会随版本升级失效的实现方式,不推荐直接操作DOM修改类名为ag-xx-row-count的元素——这类带版本号的类名会随ag-Grid版本迭代变化,且grid每次重绘、翻页都会覆盖手动修改的DOM文本。

默认分页面板示例
目标效果示例


方案1:服务端分页场景(绝大多数分页需求的首选方案)

服务端分页模式下每次仅加载当前页数据,天然支持自定义总记录数,配置步骤如下:

  • 初始化grid时开启分页、配置服务端行模型
const gridOptions = {
  pagination: true, // 开启分页
  paginationPageSize: 20, // 单页展示条数
  rowModelType: 'serverSide', // 启用服务端行模型
  // 其余业务配置...
}
  • 实现服务端数据源,在getRows回调中把接口返回的总条数传给grid
const serverDatasource = {
  getRows: (params) => {
    // 调用自有业务分页接口,传入分页参数
    fetch(`/api/your-list-api?page=${Math.ceil(params.request.endRow / gridOptions.paginationPageSize)}&pageSize=${gridOptions.paginationPageSize}`)
      .then(res => res.json())
      .then(res => {
        params.success({
          rowData: res.currentPageData, // 当前页的列表数据
          rowCount: res.totalCount // 这里传入接口返回的总记录数,例如8000,grid会自动渲染到分页面板
        })
      })
  }
}
// 给grid实例注册数据源
gridOptions.api.setServerSideDatasource(serverDatasource);

方案2:客户端分页场景(全量数据已加载到本地,需强制替换展示总条数)

如果使用客户端分页模式(所有数据已拉取到前端),可以直接调用官方API修改展示的总条数:

  • ag-Grid 28及以上版本直接调用内置API即可
// 接口拿到自定义总条数(例如8000)后执行
gridOptions.api.setPaginationTotalRowCount(8000);
// 刷新分页面板让修改生效
gridOptions.api.refreshPagination();
  • 28以下低版本可以通过自定义状态栏组件,完全接管分页面板的渲染逻辑,直接绑定接口返回的总数值即可,不需要依赖grid内部的计数规则。

内容的提问来源于stack exchange,提问作者Nancy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 06:15:41