基本上,您已经错过了农业网格如何使用dataSource 运行的全部流程。
所以根据official doc,IDatasource looks 这样:
interface IDatasource {
/** If you know up front how many rows are in the dataset, set it here. Otherwise leave blank.*/
rowCount?: number;
/** Callback the grid calls that you implement to fetch rows from the server. See below for params.*/
getRows(params: IGetRowsParams): void;
destroy?(): void;
}
让我们深入了解getRows和IGetRowsParams接口(只需要它的一部分)
/** Params for the above IDatasource.getRows() */
export interface IGetRowsParams {
....
successCallback(rowsThisBlock: any[], lastRow?: number): void;
...
}
如您所见,successCallback 只能通过dataSource 访问,并且完全可以通过getRows 方法访问,这意味着您不必通过gridAPI 直接访问。它应该定义一次(如dataSource),然后ag-grid 将仅在需要时执行getRows。
可能的解决方案(不推荐使用,切dataSource主要用于无限滚动并自动填充新数据)
您可以将params.successCallback 绑定到您自己的属性并随时执行它
这是simple hack example(检查successCallbackBinding)