angular - aggrid 服务器端分页 'cannot get grid to draw rows when it is in the middle of drawing rows'

标签 angular ag-grid infinite

我有一个像这样的 aggrid 组件:

  private gridOptions = {
    columnDefs: this.columnDefs,
    frameworkComponents: { buttonRenderer: ButtonRenderer},
    pagination: true, 
    paginationPageSize: 20,
    cacheBlockSize: 20,
    // server side paging
    rowModelType: 'infinite',
    datasource: this.dataSource
   };

  private dataSource: IDatasource = {
    getRows: (params: IGetRowsParams) => {
      var query = { startrow: params.startRow,
                    endrow: params.endRow,
                    company_name: this.companyName,
                    company_address: this.companyAddress,
                    company_capital: this.companyCapital
                  };
      this.http.post(environment.api_url + "/register/search",query).subscribe((results:any) => {
        params.successCallback(results.data, results.totalRecords);
        this.gridApi.refresh();
      });            
    }
  };

首次加载aggrid时,显示正常。如果我按下一页,则会出现此错误:

错误错误:“ag-Grid:当网格处于绘制行的中间时无法让网格绘制行。当网格处于渲染阶段时,您的代码可能调用了网格 API 方法。要克服这个问题,请将 API 调用放入超时,例如调用 setTimeout(function(){api.refreshView(),0} 而不是 api.refreshView()。要查看导致刷新的代码部分,请检查此堆栈跟踪。”

有什么例子可以引用吗?我四处寻找,但没有这个,每个人似乎都过得很好
问题。

顺便说一句:我正在使用 angular 8,aggrid 22.1.1

最佳答案

如@Vincemt Chen 评论中所述

Thanks for your answer. It's a valueFormatter problem for me. If I remove valueFormatter from column definition, everything works fine. When I check chrome console, I saw formatter function got undefine for cell value.I dont know how to fix it, so I remove all valueFormatter. Everything work great after that.


它也发生在我身上,所以不是删除 valueFormatter这很有用,我添加了检查是否 params.valueundefined .例如:
{
    headerName: "first cell",
    field: "first field",
    valueFormatter: (params) => {
        if(!params.value) return 'ERROR';

        ...your original code...
    }
}

关于angular - aggrid 服务器端分页 'cannot get grid to draw rows when it is in the middle of drawing rows',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60716050/

相关文章:

javascript - 农业网格 : Restoring state is moving auto group column to the right

vue.js - 使用 Ag-Grid 刷新动态标题名称

C++无限和代码挂了?冷冻?我不知道

angular - 如何以 Angular 查找页面加载时间?

Angular2使用父组件中的单击事件切换子组件中的类

Angular - 错误 : initial exceeded maximum budget. 预算 5.00 MB 未满足 197.06 kB,总共 5.19 MB

ag-grid - 如何在 ag-grid 中添加自定义列菜单选项卡?

java - 如何避免无限递归方法中的堆栈溢出错误?

javascript - NodeJS - 无限滚动

angular - 错误 : Cannot find the outlet myteam_outlet to load 'MemberListingComponent'