Ag grid Ag网格如何从第500次开始加载记录?
我有一个Ag网格配置为在无限滚动中工作 在文档中,我找到了,它显示了如何跳转到第500条记录 但我正在寻找一种方法,开始直接将网格加载到第500个记录 可能有一个属性要在网格中设置 或者我应该在某些情况下输入以下代码:Ag grid Ag网格如何从第500次开始加载记录?,ag-grid,Ag Grid,我有一个Ag网格配置为在无限滚动中工作 在文档中,我找到了,它显示了如何跳转到第500条记录 但我正在寻找一种方法,开始直接将网格加载到第500个记录 可能有一个属性要在网格中设置 或者我应该在某些情况下输入以下代码: jumpTo500() { if (this.gridApi.getInfiniteRowCount() < 501) { this.gridApi.setInfiniteRowCount(501, false); } this.gridApi.ensu
jumpTo500() {
if (this.gridApi.getInfiniteRowCount() < 501) {
this.gridApi.setInfiniteRowCount(501, false);
}
this.gridApi.ensureIndexVisible(500);
}
jumpTo500(){
if(this.gridApi.getInfiniteRowCount()<501){
this.gridApi.setInfiniteRowCount(501,false);
}
这个.gridApi.ensureIndexVisible(500);
}
哪个?您可以在
onGridReady
阶段使用ensureIndexVisible
:
onGridReady(params) {
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;
this.gridApi.ensureIndexVisible(499); <--- add this line
更新:另一种可能的方式是通过firstDataRendered
firstDataRendered
在第一次将数据渲染到网格中时激发
他们正在努力修复这个错误
这里提出的解决方案是迄今为止我找到的最好的解决办法
但它并不能永久解决性能缺陷
事实上,查看日志可以看到程序总是发出第一个不必要的请求,以查看前100条记录
只有这样,解决方案才需要从400到500的正确记录。不,它不起作用,因为在“onGridReady”事件中,数据还不存在,并且该属性仅适用于已经存在的数据。实际上,它返回这个错误:“ensureIndexVisible的行索引无效:499”刚刚添加
params.api.ensureIndexVisible(499)
在数据源
之后,有一个名为firstDataRendered的新事件。第一次将数据渲染到网格时激发。我建议试试这个而不是firstDataRendered解决方案,但仍然不适合我。我们在ag grid v20上,所以可能需要升级。我刚刚在github中添加了更多信息:我可以看到这两个地方都在跟踪。请注意,我们不会认为这是一个bug,但是一个特性请求:无论如何,在StAcExcel中突出显示的解决方案是一个体面的解决方案,直到你有这个特性请求允许你这样做。我希望这能澄清这一点……总之,@un.spike提到的解决方案仍然是完全可以接受的解决方案。我编辑了该解决方案,以便更好地解释性能上的缺陷
infiniteInitialRowCount = 1000 - initial config
this.gridApi.ensureIndexVisible(999) - max
(firstDataRendered)="firstDataRendered($event)"
...
firstDataRendered(){
this.gridApi.ensureIndexVisible(499);
}