我正在尝试使用具有无限行模型和分页功能的网格来删除行。我不确定如何删除特定行并更新内部模型,而无需刷新网格(从而发出新的 ajax 请求)。
我已经读过这个线程:https://github.com/ag-grid/ag-grid/issues/193 https://github.com/ag-grid/ag-grid/issues/193
显然我应该删除服务器上的行(我已经在这样做),然后调用刷新 api,但这会导致每次调用“getRows”函数和分页,另一个问题是分页不更新。如果我在 10 个页面中有 100 个项目,我删除一个项目并调用刷新缓存 api,内部分页不会更新,保留总共 100 个项目和 10 个页面作为参考。
我应该删除服务器上的行(我已经在这样做),然后调用刷新 api,但这会导致每次调用“getRows”函数和分页,另一个问题是分页不'更新。
对于无限滚动,我们只需要关心计数而不是分页。这可以通过以下步骤来实现。
- In your
getRows
函数,调用服务器来获取记录数以及数据。
- 使用结果更新计数。这将相应地更新滚动条大小。
检查下面的代码。
private getRows(params: IGetRowsParams, data: any) {
Observable.forkJoin(
[
this.dataSvc.getResult(serverParams, params.startRow),
this.dataSvc.getCount(serverParams)
])
.subscribe((result: any[]) => {
params.successCallback(result[0], <number>result[1]);
})
}
注意:这个答案是基于无限滚动推荐 https://www.ag-grid.com/javascript-grid-pagination/给出的ag-grid /questions/tagged/ag-grid team.
在 v9.0 中,ag-Grid 分页从服务器端分页更改为客户端分页。服务器端分页在 v10.1 中被删除。
如果您正在进行服务器端分页,我们建议您转向无限滚动分页,作为迁移到新机制的一种方式。
如果您手动切片数据源中的数据以模拟仅在浏览器中完成的分页,我们建议您使用默认的内存行模型并将行数据设置为正常,然后设置网格属性 pagination=true。
如果您要使用建议的最后一点,那么我想getRows
问题根本不会发生。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)