1

我正在 angular 4 上实现 ag-grid 并且遇到服务器端分页问题。

在实现无限滚动分页时,有没有办法在网格就绪事件上转到特定页面?

4

1 回答 1

1

当您说具有无限滚动的特定页面时,我假设您想要到达特定的滚动位置。

假设您一次从服务器获取 20 条记录(您getRows的方法也获取相同数量的记录),并且您想在50th加载网格时进行记录。

请按照以下步骤操作。

// #1  initialize grid with empty array, getRows will fetch the records
let dataSource = {
  rowCount: null,
  getRows: (params: IGetRowsParams) => this.getRows(params, [])
};
this.gridApi.setDatasource(dataSource);


// #2.
private getRows(params: IGetRowsParams, data: any) {
    this.yourSvc.getRows(serverParams, params.startRow)
        .subscribe((result: any[]) => {

             params.successCallback(result, null);

             // #3. keep a flag just to make sure its done for the first time only
             if(this.isFirstTime) {
                this.gridApi.ensureColumnVisible(0);
                this.gridApi.ensureIndexVisible(50);
                this.gridApi.setFocusedCell(50, 0, null);

                this.isFirstLoad = false;
             }
        });
}
于 2018-03-01T11:15:33.423 回答