有没有办法通过 Javascript 或 PL/SQL API 为 Oracle Apex 中的 IG 设置过滤器?
我在做研究时偶然发现了 APEX IG Cookbook for 5.1.4 或一些博文 How to hack APEX interactive grid series用于使用 Javascript 自定义 IG。所以设置过滤器类似于 PL/SQL APEX_IR.ADD_FILTER Proceedure您可以在其中为交互式报告 (IR) 设置过滤器,包括列名、运算符和过滤器值 应该是可以的。
我想出了内部表的名称,如果设置了滤镜(APEX_APPLICATION_PAGE_IR_COND 用于 IR 滤镜,APEX_APPL_PAGE_IG_RPT_FILTERS 用于 IG)但我真的不知道这是否有用。
与
apex.region("StaticRegionID").widget().toolbar("findElement","search_field").val("SearchTextValue");
apex.region("StaticRegionID").widget().interactiveGrid("getActions").invoke("search");
可以设置搜索值并执行搜索操作,但不能设置运算符/过滤器类型(EQ、NEQ、LT、LTE、GT、GTE、LIKE、NLIKE、N、NN、C、NC、在, NIN)
到目前为止,我还没有找到在 libaries\apex\widget.interactiveGrid.js
中自定义搜索操作或在调用搜索操作之前设置正确参数以添加的好方法过滤器。
有人知道怎么做吗?
最佳答案
我刚刚解决了我的问题。在 libaries\apex\widget.interactiveGrid.js
中有一个名为 addFilter
的方法,可以简单地使用过滤器对象和选项对象作为参数调用。
当与来自其他输入字段的值结合使用时,这非常有用。
例子:
apex.region("YourStaticRegionID").widget().interactiveGrid("addFilter", {
type: 'column',
columnType: 'column',
columnName: 'YourColumnName',
operator: 'EQ',
value: $v2('P2_NEW'),
isCaseSensitive: false
});
$v2 API在上面的示例中用于获取用户在名为 P2_NEW 的文本输入字段中键入的搜索词。
关于javascript - Oracle Apex 18.1 Interactive Grid (IG) 以编程方式设置过滤器?自定义 IG 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51696987/