【发布时间】:2018-08-22 13:07:43
【问题描述】:
有没有办法通过 URL 将多个过滤器传递给 Intractive Report?
对于一个过滤器,它的工作原理如下:
/pls/apex/f?p=100:1:123456::::IRC_line:0
【问题讨论】:
标签: oracle filter report oracle-apex interactive
有没有办法通过 URL 将多个过滤器传递给 Intractive Report?
对于一个过滤器,它的工作原理如下:
/pls/apex/f?p=100:1:123456::::IRC_line:0
【问题讨论】:
标签: oracle filter report oracle-apex interactive
使用 f?p 链接页面的语法是:
f?p=App:Page:Session:Request:Debug:ClearCache:itemNames:itemValues:PrinterFriendly
如果您要在 itemNames 和 itemValues 段中传递多个值,则应使用 ',' 将它们分开,如下所示:
f?p=App:Page:Session:Request:Debug:ClearCache:item1_Name,item2_Name,item3_Name:item1_Value,item2_Value,item3_Value:PrinterFriendly
用于填充目标页面上的顶点项目:
/pls/apex/f?p=100:1:123456::::IRC_line,Other_item,Another_item:0,0,0
如果它们尚不存在,则必须在目标页面上创建这些项目(IRC_line、Other_item 和 Another_item,在此示例中)并将这些项目包含在 SQL 查询中以生成交互式报告。这样,在页面加载时,您传递的数据将被提供给您的商品,并且在生成交互式报告时会考虑这些值。
另一方面,如果您想将值直接传递给您的交互式报告 (IR),那么您可以使用以下语法编写 URL,而不是上面提到了itemNames:itemValues部分网址:
IR_COLUMN1,IR_COLUMN2:EQ_VALUE1,EQ_VALUE2
在哪里而不是 COLUMN1 和 COLUMN2 写入您的 IR 列的名称,并在 EQ_VALUE1 和 EQ_VALUE2 的位置写入您希望相应列等于的值。
例如,如果您希望您的条件类似于where streetname = 'A' and number = 1,您可以编写以下内容(基于您应用的应用 ID、页码和某些会话):
/pls/apex/f?p=100:1:123456::::IR_STREETNAME,IR_NUMBER:A,1
通过稍微更改语法,您可以将条件从 equal 更改为,例如,greater than 或 less than,当您希望条件为 number > 1 时,通过将 IR_NUMBER 更改为 IRGT_NUMBER而不是 number = 1 或将 IR_NUMBER 更改为 IRLT_NUMBER 当您希望您的条件分别为 number < 1 而不是 number = 1 时。
您自己找到的相应文档:https://docs.oracle.com/database/121/HTMDB/bldapp_rpt_int.htm#HTMDB28370
【讨论】:
IRC_line、Other_item 和 Another_item 必须是目标页面上的现有项目,您要使用值填充(在本例中,这些值将是 0三个项目)。