如何使用ag-grid创建跨列的OR逻辑过滤器

问题描述 投票:1回答:1

ag-grid只提倡使用基于过滤栏的 AND他们允许你做AND/OR 但到目前为止,我还没有找到能够在单列中使用 OR 跨多个列。

例如,如果我想为(Status1 = 5Status1 = 6) 或 (Age > 30).

第一组目前可以用,Status1等于5或6,但对年龄做OR是个问题,如何实现?如果没有大量额外的自定义配置,这是否可行?

文档。https:/www.ag-grid.comjavascript-grid-filtering

过滤的例子。https:/www.ag-grid.comexample.php#filtering1

angularjs vue.js ag-grid
1个回答
0
投票

假设你使用的是自定义过滤器,你可以做以下的事情。我以另一列 "Active "为例。

  • 当定义另一列时,添加一个colId: "Active"; /Active只是一些独特的字符串。
  • 在你的doesFilterPass实现中,你可以用其他列过滤器来处理传入的参数。

  doesFilterPass(params: IDoesFilterPassParams): boolean {
        const passesHere ... your filter logic
        // Get the other filter.
        const activeFilterPasses = this.api.getFilterInstance('Active').doesFilterPass(params);
        return passesHere && activeFilterPasses; // Here it does AND filter between two columns. 
    }
© www.soinside.com 2019 - 2024. All rights reserved.