首页 > 解决方案 > Ag-Grid Set Filter 初始化后可用值的更新列表

问题描述

我正在使用 Ag-Grid Enterprise 并已将设置过滤器应用于列,到目前为止一切都很好。我正在使用服务器端行模型并在后端(C# ASP.Net Core)上成功地旋转数据。

一旦用户将过滤器应用于一列,我希望其他列过滤器更新为可用值的新列表,该列表已根据设置的列过滤器进行限制。

例如:

颜色:

在彩虹:

现在的想法是,当我将 In Rainbow 过滤器设置为 True 时,我将更新颜色列表以排除黑色,其背后的逻辑是在 C# 端完成的,这很好,基本上我向服务器发出一个查询,其中将包含 In Rainbow = true,它将返回一个与此特定查询匹配的颜色数组。

所以我可以取回javascript中的颜色数组并成功抓取过滤器,即

var data = ["Orange", "Red", "Yellow", "Blue"];

var filter = gridOptions.api.getFilterInstance(columnName);

但是,我找不到一种方法来告诉 ag-grid 我有要在设置列表中提供的新值。

我努力了:

filter.setFilterValues(data);

filter.setModel({
     type: 'set',
     values: data
});

但似乎都没有更改可供选择的设置过滤器值。

对此的任何帮助将不胜感激

标签: ag-grid

解决方案


我不确定我是否完全理解您的问题,但据我了解,您希望在过滤器中动态设置值或按照这些方式设置值,如果这是您想要的,我建议您使用 filterParams。filterPramas 有一个 value 属性,所以它会像这样 filterParams:{values:getvalues} get values 将押注将返回您想要的值的函数有指向 ag-grid docs https://www.filterParameters 的链接。 ag-grid.com/javascript-grid-filtering/#filter-parameters


推荐阅读