我正在角度4上实现ag-grid并且在服务器端分页方面存在问题。
有没有办法在实现无限滚动的分页时转到网格就绪事件的特定页面?
当你说无限滚动的特定页面时,我假设你想要达到特定的滚动位置。
让我们说,你立即从服务器获取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;
}
});
}