我正在使用带有角度的ag-grid,我想对它应用外部过滤器。
documentation显示了doesExternalFilterPass
函数的示例:
function doesExternalFilterPass(node) {
switch (ageType) {
case 'below30': return node.data.age < 30;
...
default: return true;
}
}
它基本上使用原始数据来过滤行。当我使用列valueGetter / filterValueGetter函数来修改值时,我希望外部过滤器根据这些函数的返回值进行过滤,但我还没有找到正确的方法来执行此操作。
我可以通过调用来获得我想要的价值
this.gridOptions.api.getValue(columnId, node);
(在引擎盖下调用valueGetter)而不是
node.data[columnId]
但我没有找到任何这样做的例子。
所以我要求在doesExternalFilterPass
内调用valueGetter函数的正确方法,或者其他人如何解决这个问题。
(当你的行甚至不包含在数据对象中时尤其重要。当通过valueGetter / filterValueGetter函数计算列值时,例如通过添加另外两列,就是这种情况。)
答案 0 :(得分:1)
您可以在将数据馈送到网格之前,在计算的数据模型中添加自定义字段,而不用使用valueGetter
。您将需要预处理数据,然后在列定义和外部过滤器中使用此新字段。