初始化后Ag-Grid设置过滤器更新可用值列表

时间:2019-08-30 12:59:25

标签: ag-grid

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

一旦用户将过滤器应用于一个列,我希望其他列过滤器使用可用值的新列表进行更新,该列表基于已设置的列过滤器而受到限制。

例如:

颜色:

  • 黑色
  • 橙色
  • 红色
  • 黄色
  • 蓝色

在Rainbow中:

  • 真实
  • 错误

现在的想法是,当我在Rainbow滤镜中将True设置为True时,我将更新Colors列表以排除黑色,其背后的逻辑是在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
});

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

对此将提供任何帮助

1 个答案:

答案 0 :(得分:0)

我不确定我是否完全理解您的问题,但据我所知,您想动态设置过滤器中的值或沿这些方向进行过滤,如果这是您想要的,我建议您使用filterParams。 filterPramas具有值的属性,因此它将像以下filterParams:{values:getvalues}一样获取值将押注将返回您想要的值的函数,在ag-grid docs https://www.ag-grid.com/javascript-grid-filtering/#filter-parameters <中有filterParameters的链接/ p>