如何在ag-grid中调用(filter-)valueGetter函数用于外部过滤器?

时间:2018-04-24 15:50:26

标签: ag-grid ag-grid-ng2

我正在使用带有角度的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函数计算列值时,例如通过添加另外两列,就是这种情况。)

1 个答案:

答案 0 :(得分:1)

您可以在将数据馈送到网格之前,在计算的数据模型中添加自定义字段,而不用使用valueGetter。您将需要预处理数据,然后在列定义和外部过滤器中使用此新字段。