【问题标题】:Change Ag-Grid infinite scroll block size?更改 Ag-Grid 无限滚动块大小?
【发布时间】:2019-12-17 14:24:41
【问题描述】:

当使用的行模型是“无限”并且设置了数据源时,有没有办法改变块大小?

即当调用数据源的getRows() 时,有没有办法设置startRow 和/或endRow?默认行为是一次获取 100 行,这对我来说会产生空白行,因为我一次只有大约 12 个新数据行,并且无限滚动。因此,当getRows() 被触发时,当首先只有 45 个数据点时,它将尝试获取第 100 到 200 行(例如)。为了补偿它添加了一堆空白行。

我尝试了以下两个额外的网格选项但没有成功:

cacheOverflowSize: 2
infiniteInitialRowCount: 32

一次获取 100 行而不是 12 行可以解决问题,但我真的不想这样做(由于我正在开发的产品的一些设计限制)。

【问题讨论】:

  • 尝试使用cacheBlockSize,这定义了在无限情况下应如何对获取的数据请求进行分块-例如将cacheBlockSize设置为12定义了一次以12行的块获取数据。

标签: javascript ag-grid


【解决方案1】:

向@kamil-kubicki 大声疾呼以征求他们的意见。 cacheBlockSize 确实是我想要的。但它并没有解决我的全部问题,所以我将在下面概述我的完整解决方案。

我将 ag-grid 的行高设置为默认的 25px 最大值。这意味着在加载时,当它填充初始数据时,它即将呈现我的整个 32 个项目的初始数据集。在滚动时,getRows() 会查找总数据集合范围之外的行,因此它添加了空白行。

我将每次滚动加载的数据结果数量更改为 50。这相对较大,但目前它可以工作并且性能良好,所以我想我会保留它。

对于有类似问题的人:

  1. gridOptions中使用cacheBlockSize

  2. 确保您的 ag-grid 没有呈现接近完整初始数据集合的任何内容(例如,如果您的集合是 32 个项目,则不要呈现超过 16 个项目的任何内容 - 通过更改高度来控制它行数和网格大小)

  3. 将滚动时加载到集合中的数据项数量更改为更大的数字;可以比用户滚动更快地填充数据的东西。对我来说是 50。对你来说可能更多,也可能更少。

【讨论】:

    猜你喜欢
    • 2020-11-05
    • 2020-04-07
    • 2019-03-30
    • 2018-11-17
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    相关资源
    最近更新 更多