AG网格中的客户端和服务器列过滤器都可以吗?

时间:2020-09-03 06:14:47

标签: ag-grid ag-grid-react

我想知道我们是否可以在ag网格中进行组合过滤。在客户端和服务器上进行一些卷筛选。有可能吗?

我正在检查Adaptabletools网站,他们使用下面的serverOptions.link建立了相似的功能。我试图通过ag-grid api实现类似的目的。你能请教吗

https://api.adaptabletools.com/interfaces/_src_adaptableoptions_searchoptions_.searchoptions.html

2 个答案:

答案 0 :(得分:2)

当我开发了 OP 在她的问题中提到的 AdapTable 时更新了这个问题。 我们确实启用并促进了服务器端搜索、排序和过滤,同时将 ag-Grid 保持在 ClientSideRowModel 模式下,许多用户都充分利用了它。

您可以在以下位置了解更多信息:

https://docs.adaptabletools.com/docs/key-topics/server-functionality

但是请注意,这适用于您有几十万行并希望两全其美的用例;如果您有数百万行数据需要搜索和过滤,那么您应该使用 ag-Grid 的服务器或无限行模型(AdapTable 完全支持这两种模型,但与 OP 中提到的方式不同)。

答案 1 :(得分:0)

Well Client-Ride RowModel是默认设置。网格将一次性将所有数据加载到网格中。然后,网格可以在内存中全部执行过滤,排序,分组,透视和聚合。

服务器端行模型建立在无限行模型的基础上。除了在用户向下滚动时延迟加载数据之外,它还允许通过服务器端分组和聚合对分组的数据进行延迟加载。高级用户将使用服务器端行模型通过服务器端聚合对数据进行临时切片和切块。

理想情况下,开发人员应选择其中之一。另外,AG Grid不允许任何方法以编程方式设置RowmodelType类型。

所以简单的答案是不,这不容易做到。

但是,我认为您可以通过创建另一个隐藏的AG网格来解决此问题,该网格将使用RowmodelType = 'client side'创建。只要第一个网格中的数据发生更改,就更新第二个网格中的数据。当用户要在客户端进行过滤时(也可以提供一个单选按钮),还可以在网格之间切换(使用Hide Show逻辑),并且可以将filterstate / columnstate等设置设置为第二到第一网格。