angular - aggrid 服务器端分页“当网格位于绘图行的中间时,无法让网格绘制行”
问题描述
我有一个这样的 agggrid 组件:
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 时,它正常显示。如果我按下一页,我会收到此错误:
ERROR Error: "ag-Grid: cannot get grid to draw rows when it is in the middle
of drawing rows. Your code probably called a grid API method while the grid
was in the render stage. To overcome this, put the API call into a timeout,
eg instead of api.refreshView(), call setTimeout(function()
{api.refreshView(),0}). To see what part of your code that caused the
refresh check this stacktrace."
有没有例子可以参考?我四处搜寻,但没有这个问题,每个人似乎都做得很好。
顺便说一句:我正在使用angular 8
,aggrid 22.1.1
解决方案
如@Vincemt Chen 评论中所述
感谢您的回答。这对我来说是一个 valueFormatter 问题。如果我从列定义中删除 valueFormatter,一切正常。当我检查 chrome 控制台时,我看到格式化程序函数未定义单元格值。我不知道如何修复它,所以我删除了所有 valueFormatter。在那之后一切都很好。
它也发生在我身上,所以我没有删除valueFormatter
哪个有用,而是添加了检查 if params.value
is undefined
。例如:
{
headerName: "first cell",
field: "first field",
valueFormatter: (params) => {
if(!params.value) return 'ERROR';
...your original code...
}
}
推荐阅读
- excel - 根据单元格值将行复制到工作表底部并按升序排序
- reactjs - React 应用程序不与 shopify api 通信
- python - .fillna 打破 .dt.normalize()
- angular - 当 OnInit 中的语言更改时, translateService.onLangChange.subscribe 不会触发
- python - Tensorflow object detection api v1 object detection api mask_rcnn_inception_v2_coco 慢推理和内存泄漏
- typescript - 如何使用区分大小写的错字使 Typescript 检测导入路径错误?
- google-bigquery - UNIX 时间戳转 Google bigQuery TS 格式
- r - 重构df中的列名
- c++ - 有没有办法在没有双倍行距的情况下制作 Xerces-C 漂亮打印 XML?
- python-3.x - Pytest 覆盖夹具范围