我正在使用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
});
但是似乎都没有改变可供选择的设置过滤器值。
对此将提供任何帮助
答案 0 :(得分:0)
我不确定我是否完全理解您的问题,但据我所知,您想动态设置过滤器中的值或沿这些方向进行过滤,如果这是您想要的,我建议您使用filterParams。 filterPramas具有值的属性,因此它将像以下filterParams:{values:getvalues}一样获取值将押注将返回您想要的值的函数,在ag-grid docs https://www.ag-grid.com/javascript-grid-filtering/#filter-parameters <中有filterParameters的链接/ p>