我通过服务器端rowModelType实现了ag-grid。
在网格上方,我有一个输入文本框,它将过滤网格。 例如,如果用户在网格中键入“ abc”,则我应该使用网址中带有“ searchString = abc”的服务器。
我需要使用服务器中的新数据重新绘制网格。 在rowModelType更改之前,我在api中使用了“ setData”方法,但在更改之后,该方法在网格api中不存在。
谢谢
答案 0 :(得分:0)
如果要重绘网格,则可以尝试gridApi
中的几种不同的刷新机制,具体取决于您选择的rowModel
。
这是我通常使用serverSide rowModel进行的操作:
gridApi.purgeServerSideCache()
gridApi.refreshInfiniteCache()
gridApi.purgeInfiniteCache()
gridApi.refreshClientSideRowModel()
可以找到更多详细信息here,尽管它们有些分散。
但是,您的问题可以用两种方式来解释,我不确定您是否真的要重绘网格。
相反,在使用serverSide
rowModel时,您应该在代码库中有一个onGridReady()
回调位,您可以在其中设置企业请求处理程序:gridApi.setServerSideDatasource({getRows: myGetRowsHandler})
。
您的自定义myGetRowsHandler
处理程序应在每个过滤器更改,排序,分组或分页事件上调用并获取一个parameters
对象。
请求完成后,您需要在TypeScript中调用如下所示的parameters.successCallback()
:successCallback(rowsThisPage: any[], lastRow: number): void