Ag-Grid:如何获取 lastRow 以进行自定义分页
Ag-Grid: how to get lastRow for custom pagination
所以我想为 AgGrid 创建一个自定义分页组件。我需要在 table 下显示以下符号(使用 Infinite Row Model)
1 - 10 of 169
这是我设置数据源的方法:
onGridReady(params): void {
const dataSource = {
getRows: (rowsParams: IGetRowsParams) =>
this.myService.getData(...)
.subscribe(data => rowsParams.successCallback(data.rows, data.amount))
};
params.api.setDatasource(dataSource);
}
如您所见,我有 data.amount
值,它表示数据条目的总数 - 上面示例中的 169,存储在数据库中。
在我的自定义分页组件中,我可以访问 GridOptions
class。如何获取我之前设置为 IGetRowsParams
的 data.amount
值?
可能最简单的方法是在您的组件中保留对 "data.amount" 的引用。
好的,我找到了答案,
这是父组件示例
public gridApi: GridApi;
onGridReady(params): void {
this.gridApi = params.api;
const dataSource = {
getRows: (rowsParams: IGetRowsParams) =>
this.myService.getData(...)
.subscribe(data => rowsParams.successCallback(data.rows, data.amount))
};
params.api.setDatasource(dataSource);
}
分页组件为:
export class AgPaginationComponent {
@Input()
set gridApi(api: GridApi) {
if (api) {
api.addEventListener('modelUpdated', () => {
console.log(api.paginationGetRowCount())
})
}
}
}
事件侦听器需要捕捉准确的时刻,当你的数据 Observable 被解析时,最初 paginationGetRowCount
将被设置为 0
所以我想为 AgGrid 创建一个自定义分页组件。我需要在 table 下显示以下符号(使用 Infinite Row Model)
1 - 10 of 169
这是我设置数据源的方法:
onGridReady(params): void {
const dataSource = {
getRows: (rowsParams: IGetRowsParams) =>
this.myService.getData(...)
.subscribe(data => rowsParams.successCallback(data.rows, data.amount))
};
params.api.setDatasource(dataSource);
}
如您所见,我有 data.amount
值,它表示数据条目的总数 - 上面示例中的 169,存储在数据库中。
在我的自定义分页组件中,我可以访问 GridOptions
class。如何获取我之前设置为 IGetRowsParams
的 data.amount
值?
可能最简单的方法是在您的组件中保留对 "data.amount" 的引用。
好的,我找到了答案, 这是父组件示例
public gridApi: GridApi;
onGridReady(params): void {
this.gridApi = params.api;
const dataSource = {
getRows: (rowsParams: IGetRowsParams) =>
this.myService.getData(...)
.subscribe(data => rowsParams.successCallback(data.rows, data.amount))
};
params.api.setDatasource(dataSource);
}
分页组件为:
export class AgPaginationComponent {
@Input()
set gridApi(api: GridApi) {
if (api) {
api.addEventListener('modelUpdated', () => {
console.log(api.paginationGetRowCount())
})
}
}
}
事件侦听器需要捕捉准确的时刻,当你的数据 Observable 被解析时,最初 paginationGetRowCount
将被设置为 0