javascript - 无限滚动分页 ag-Grid 初始页面大小问题

标签 javascript datatable ag-grid

我正在尝试编写一些代码,使我能够将 ag-Grid 库与无限滚动 方法结合使用。

但我坚持使用参数来正确配置此行为。

例如,我想一次从服务器检索包含 20 个项目的页面。如果我没理解错the API允许我设置页面大小的参数是 cacheBlockSize

实际上,每次使用 getRows 参数调用 datasource 中定义的方法时,一次需要 20 行。

但是,在初始阶段,并不像我预期的那样只调用一次,而是调用了不止一次。除非您设置了非常大的 cacheBlockSize(例如,下例中的 100 或更多)。而且我无法理解此行为是否可配置(可能使用 paginationPageSize ??)。

例如。

使用此参数:

var gridOptions = {
  enableServerSideSorting: true,
  enableServerSideFilter: false,
  rowModelType: 'infinite',
  columnDefs: columnDefs,
  //paginationPageSize: 20,
  cacheBlockSize: 20,
  maxConcurrentDatasourceRequests: 1,
  infiniteInitialRowCount: 1
};

如你所见here , 在开始时,而不是加载 20 行的单个调用进行了 3 次加载,总共加载了 20*3=60 行。

最佳答案

您看到多个请求的原因是网格中一次显示的记录数大于页面大小。

假设您的页面大小为 20(即一次从服务器获取 20 条记录)并且由于网格的高度,如果网格能够显示超过 20 条记录,假设为 30,然后它将从服务器获取下一个 block 。

查看实例:ag-grid: infinite-scroll-pagination-ag-grid-initial-page-size-issue

<div id="myGrid" style="height: 300px;" class="ag-theme-balham"></div>

在这里,我设置的高度使网格只显示 9 条记录,因此它没有从服务器获取下一个 block 。

如果你逐渐增加高度,你会注意到更多的请求。

这是有道理的。我说得对吗?

关于javascript - 无限滚动分页 ag-Grid 初始页面大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50744166/

相关文章:

javascript - 如何获取小部件实例 pf p :dataTable in js or JQuery

javascript - 数据表中单个下拉列表中的多列过滤

javascript - Datatable、使用固定列时表格重叠

reactjs - 使用 Jest 和 Enzyme 模拟自定义事件

Angular Grid Ag-Grid,使列可动态编辑

css - 将样式添加到 AgGrid 中的特定标题单元格

javascript - 范围问题 - 此函数是否形成闭包 - JavaScript?

javascript - 电子邮件验证客户端

java - jQuery 函数没有调用 Spring MVC 中的 onchange 事件

javascript - 多个 If 语句相互抵消? (Javascript)