IG清除过滤器并设置新过滤器

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

我在APEX 18.2中设置了一个页面,它包含一个IG。我可以从菜单中正常访问此页面,或者如果按下按钮,我可以将其设置为从其他站点进入此处。如果按下该按钮,则第一个站点上的隐藏项也会设置为一个值,并且我想清除所有当前过滤器并为该值设置一个新过滤器,该过滤器位于两列中的一列中。

我已经检查了我在网上可以找到的所有内容,但是官方的JSDoc没有关于所需方法的内容,其他来源并不完全包含我需要的内容。

Oracle Apex 18.1 Interactive Grid (IG) Setting filters programmatically? Customizing IG Search这是迄今为止我设置过滤器的最佳资源,但它只过滤一列,他描述的第一种方法对我没用,给出了错误。

我还发现了一些代码来清除过滤器,但是它实际上重置了报告,如果它实际起作用,它对我有用,但是它会触发错误的一半时间。实际上得到了ORA-2291,我不知道它是什么。我有时也没有找到数据

我用来设置过滤器的代码与第一个链接基本相同:

apex.region("MY_IG").widget().interactiveGrid("addFilter", {
  type: 'column',
  columnType: 'column',
  columnName: 'COLUMN_NAME',
  operator: 'C',
  value: $v2('PAGE_ITEM'),
  isCaseSensitive: false
});

但这会将过滤器应用于单个列。我想将它设置为两列,或者只是在任何地方都可以设置它。

我用来清除过滤器/重置报告的代码:

 apex.region("MY_IG").call("getActions").invoke('reset-report');

我希望触发这些代码块的Dynamic操作清除所有过滤器并设置一个新的过滤器,以评估PAGE_ITEM中的值是否包含在两列中的任何一列中。

javascript oracle-apex
1个回答
0
投票

实际上没有找到如何做我想要的,但做了不同的事情来获得相同的结果。

结束只是在我的SQL查询中用WHERE子句替换所有这些。

© www.soinside.com 2019 - 2024. All rights reserved.