【问题标题】:reset cache in infinitePageRowModel in ag grid community v22在ag grid community v22中重置infinitePageRowModel中的缓存
【发布时间】: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。

【问题讨论】:

标签: angular typescript grid ag-grid-angular


【解决方案1】:

请参考https://github.com/ag-grid/ag-grid/issues/2202

onGridPageSizeChanged(size: number): void {
        this.gridOptions.cacheBlockSize = size;
//// this is a way to use private fields in typescript
        const api: any = this.gridOptions.api;
        api.infinitePageRowModel.resetCache();
        this.gridOptions.paginationPageSize = size;

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-19
    • 2023-01-20
    • 2020-03-07
    • 2019-08-12
    • 1970-01-01
    • 2020-04-06
    • 2021-05-20
    • 2021-09-21
    相关资源
    最近更新 更多