无限滚动分页 ag-Grid 初始页面大小问题
Infinite scroll pagination ag-Grid initial page size issue
我正在尝试编写一些代码,使我能够将 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,然后它会从服务器获取下一个块。
查看实例:ag-grid: infinite-scroll-pagination-ag-grid-initial-page-size-issue
<div id="myGrid" style="height: 300px;" class="ag-theme-balham"></div>
在这里,我设置了高度,使网格只显示 9 条记录,因此它没有从服务器获取下一个块。
如果逐渐增加高度,您会注意到更多请求。
这是有道理的。我说的对吗?
我正在尝试编写一些代码,使我能够将 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,然后它会从服务器获取下一个块。
查看实例:ag-grid: infinite-scroll-pagination-ag-grid-initial-page-size-issue
<div id="myGrid" style="height: 300px;" class="ag-theme-balham"></div>
在这里,我设置了高度,使网格只显示 9 条记录,因此它没有从服务器获取下一个块。
如果逐渐增加高度,您会注意到更多请求。
这是有道理的。我说的对吗?