【问题标题】:Implementing filter on ag-grid serverSide rowModelType在 ag-grid serverSide rowModelType 上实现过滤器
【发布时间】:2018-11-27 22:05:30
【问题描述】:

我使用服务器端 rowModelType 实现了 ag-grid。

在网格上方我有一个输入文本框,它将过滤网格。 例如,如果用户在网格中键入“abc”,我应该在 url 中使用“searchString=abc”访问服务器。

我需要使用来自服务器的新数据重新绘制网格。 在更改 rowModelType 之前,我在 api 中使用了“setData”方法,但在更改之后,网格 api 中不存在该方法。

谢谢

【问题讨论】:

    标签: angular ag-grid


    【解决方案1】:

    如果您想重绘网格,您可以尝试gridApi 中的几种不同刷新机制,具体取决于您选择的rowModel

    以下是我通常对服务器端 rowModel 执行的操作: gridApi.purgeServerSideCache()


    其他类型的完整性:

    行模型:无限

    gridApi.refreshInfiniteCache()

    gridApi.purgeInfiniteCache()

    RowModel:客户端

    gridApi.refreshClientSideRowModel()

    更多细节可以在here找到,虽然它们有点分散。


    但是,您的问题可以用两种方式解释,我不确定您是否真的要重新绘制网格。

    相反,当使用serverSide rowModel 时,您的代码库中应该有一个onGridReady() 回调,您可以在其中设置您的企业请求处理程序:gridApi.setServerSideDatasource({getRows: myGetRowsHandler})。 您的自定义 myGetRowsHandler 处理程序应在每个 filter changesortinggroupingpaging 事件上调用并获取一个parameters 对象传入其中。

    当您的请求完成后,您需要调用 parameters.successCallback(),它在 TypeScript 中如下所示:successCallback(rowsThisPage: any[], lastRow: number): void

    【讨论】:

    • 谢谢。我使用了 gridApi.setServerSideDatasource 并通过了过滤器
    猜你喜欢
    • 2021-11-05
    • 2020-06-12
    • 2019-07-28
    • 2016-06-15
    • 2022-10-17
    • 2019-04-20
    • 2020-04-08
    • 2020-06-22
    • 2020-10-18
    相关资源
    最近更新 更多