【发布时间】:2021-02-05 21:39:54
【问题描述】:
在 ag -grid 中使用“无限”行模型。我已经实现了分页。
<select [(ngModel)]="pageSizeSelected" (change)="onPaginationChanged($event)">
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
</select>
<ag-grid-angular
#myGrid
class="ag-theme-balham"
[columnDefs]="columnDefs"
[gridOptions]="gridOptions"
[cacheOverflowSize]="cacheOverflowSize"
[maxConcurrentDatasourceRequests]="maxConcurrentDatasourceRequests"
[infiniteInitialRowCount]="infiniteInitialRowCount"
[pagination]=true
(gridReady)="onGridReady($event)">
</ag-grid-angular>
在第一次加载时,PageSize 设置为 10,CacheBlockSize 设置为 10,然后 startRow = 0 和 endrow = 10。但用户可以使用下拉菜单将页面大小更改为 15 我必须更改IGetRowParams
onPaginationChanged(event){
this.gridOption.cacheBlockSize = pageSizeSelected;
this.gridOption.paginationSetPageSize(pageSizeSelected);
之后,设置了两个 gridoption 我可以看到在 Quick Watch 中它们已设置但 inifitePageRowModel.cacheParams 仍然之前选择了 10。所以 ** 如何重置缓存参数以便 Start Row - 0并且 End Row - 15 被相应地重置**
但是我怎样才能做到这一点。我试过了-
purgeInfiniteCache - 它清除整个数据并进行新调用,但这并没有按预期设置我的 IGetRowParams
refreshInfiniteCache - 它在内部调用刷新缓存而不是 resetCache
请问,有谁知道我如何在infinitePageRowModel 中重置Cahce。
【问题讨论】:
-
我已经浏览了下面的链接 github.com/ag-grid/ag-grid/issues/2202#issuecomment-396362879 它很好地解释了但这个解决方案对我不起作用。因为 InfinitePageRowModel 是类 GridApi 的私有。任何人都知道如何重置缓存。
标签: angular typescript grid ag-grid-angular