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

AG-Grid服务端搜索总行数始终固定为50,successCallback中lastRow参数不生效问题

AG-Grid Server-Side 搜索时 lastRow 不生效、总行数固定为50的排查方案

我来帮你梳理这个问题,你遇到的lastRow参数无法改变总行数的情况,大概率是这几个环节出了问题,咱们一步步排查:

1. 先确认后端返回的lastRow值是否正确

先从最基础的环节入手:在ServerSideService.ts的subscribe回调里加个日志,看看后端实际返回的lastRow是不是你预期的数值:

.subscribe(
  (res) => {
    console.log('后端返回的总条数:', res.lastRow); // 加这行日志
    params.successCallback(res.data,res.lastRow);
  },
  (err) => params.fail(),
);

如果打印出来的数值一直是50,那问题出在后端——后端的搜索条件没正确应用到总条数的统计逻辑上,比如搜索参数没传递到计数SQL里,导致一直返回默认的50条总数。

2. 检查请求参数是否正确传递给后端

在getRows方法中,AG-Grid会通过params对象传递当前的分页、过滤、排序参数(比如params.startRow、params.endRow、params.filterModel),你需要把这些参数完整传递给后端,后端才能返回对应搜索条件下的正确总条数。

看你代码里的request对象,有没有包含AG-Grid的搜索过滤参数?比如应该这样构建请求:

const request = {
  startRow: params.startRow,
  endRow: params.endRow,
  filterModel: params.filterModel, // 把搜索过滤参数传给后端
  sortModel: params.sortModel // 如果有排序需求也带上
};

如果request里没带搜索条件,后端就会一直返回默认数据集的总条数50。

3. 修正AG-Grid的Server-Side模式配置

你的gridOptions有个潜在问题:在Server-Side模式下,不要手动设置rowData: [],这个属性会干扰AG-Grid对服务端数据的感知,导致总行数计算异常。

修改后的gridOptions可以调整成这样:

this.gridOptions = { 
  rowModelType: "serverSide", 
  paginationPageSize: this.pageSize, 
  cacheBlockSize: this.pageSize, 
  rowSelection: "single", 
  suppressRowClickSelection: true, 
  pagination: true, 
  columnDefs: [], 
  headerHeight: 35
  // 删掉rowData: []
};

另外还要检查有没有额外配置infiniteInitialRowCount属性,如果有,一定要删掉——这个属性会强制AG-Grid用固定值作为初始总行数,忽略后端返回的lastRow。

4. 搜索时要刷新Server-Side数据源

当你执行搜索操作时,不要只重新调用setDataSource,应该调用AG-Grid的refreshServerSideStore方法触发全新的请求,这样AG-Grid才会重新获取包含新搜索条件的总行数:

// 假设你的搜索方法是onSearch
onSearch() {
  // purge: true 会清空缓存,强制重新请求数据
  this.gridApi.refreshServerSideStore({ purge: true });
}

5. 检查AG-Grid版本是否存在已知Bug

如果以上步骤都排查完还是没解决,可能是你使用的AG-Grid版本存在lastRow处理的逻辑Bug。建议升级到最新的稳定版本试试,AG-Grid对Server-Side Row Model的迭代比较频繁,旧版本的一些问题在新版本中已经修复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 00:12:35