【问题标题】:Ag-Grid how to start loading records from the 500th?Ag-Grid 如何从第 500 条开始加载记录?
【发布时间】:2018-10-12 23:30:45
【问题描述】:

我有一个配置为在无限滚动中工作的 Ag-grid

在文档中,我找到了this example,它显示了如何跳转到第 500 条记录

但我正在寻找一种方法来开始将网格直接加载到第 500 条记录

也许在网格中有要设置的属性?

或者我应该在某些情况下输入此代码:

jumpTo500() {
  if (this.gridApi.getInfiniteRowCount() < 501) {
    this.gridApi.setInfiniteRowCount(501, false);
  }
  this.gridApi.ensureIndexVisible(500);
}

哪个?

【问题讨论】:

    标签: ag-grid


    【解决方案1】:

    您可以在onGridReady 舞台上使用ensureIndexVisible

    onGridReady(params) {
        this.gridApi = params.api;
        this.gridColumnApi = params.columnApi;
        this.gridApi.ensureIndexVisible(499);  <--- add this line 
    

    注意this.gridApi.ensureIndexVisible(numberValue) 数值至少应小于infiniteInitialRowCount 1

    infiniteInitialRowCount = 1000 - initial config
    
    this.gridApi.ensureIndexVisible(999) - max 
    

    更新:通过firstDataRendered 的另一种可能方式

    firstDataRendered第一次将数据渲染到网格中时触发。

    (firstDataRendered)="firstDataRendered($event)"
    ...
    firstDataRendered(){
        this.gridApi.ensureIndexVisible(499);
    }
    

    【讨论】:

    • 不,它不起作用,因为在“onGridReady”事件中数据还不存在,并且该属性仅适用于已经存在的数据。事实上,它返回这个错误:“invalid row index for ensureIndexVisible: 499”
    • Check here 刚刚在params.api.ensureIndexVisible(499); 之后添加dataSource
    • 有一个名为 firstDataRendered 的新事件。第一次将数据渲染到网格中时触发。我建议你试试这个
    • 尝试了 firstDataRendered 解决方案,但仍然不适合我。我们正在使用 ag-grid v20,因此可能需要升级。
    【解决方案2】:

    The ag-grid has a bug in infinity scroll mode

    他们正在努力修复错误

    这里提出的解决方案是我目前发现的最好的解决方法

    但它并不能永久解决性能错误

    事实上,查看日志可以看到,程序总是会发出第一个不必要的请求,以查看前 100 条记录

    只有这样,解决方法才需要从 400 到 500 的正确记录

    【讨论】:

    • 我刚刚在 github 中添加了更多信息:我可以看到这两个地方都在跟踪。请注意,我们不会认为这是一个错误,而是一个功能请求 :) 在任何情况下,stackoverflow 中突出显示的解决方案是一个不错的解决方法,直到您有此功能请求允许您开箱即用地执行此操作。我希望这能澄清这一点......
    • 总而言之,@un.spike 提到的解决方案仍然是完全可以接受的解决方法
    • 我编辑了解决方案以更好地解释性能错误
    猜你喜欢
    • 1970-01-01
    • 2016-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    相关资源
    最近更新 更多