我正在使用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
});
但似乎两者都没有对可供选择的设置筛选器值进行更改。
任何这方面的帮助将不胜感激
我不确定我是否完全理解您的问题,但据我所知,您想动态设置过滤器中的值或类似的东西,如果这是您想要的,我建议您使用 filterParams。 filterPramas有一个值的属性,所以它会像这样 filterParams:{values:getvalues} get values 将押注返回您想要的值的函数,那里有指向过滤器的链接Ag-grid 文档中的参数 https://www.ag-grid.com/javascript-grid-filtering/#filter-parameters