在 Oracle Apex 5 中,我想 link 到交互式报告并设置过滤器 RequestID = #RequestID#

In Oracle Apex 5 I want to link to an Interactive Report and set a filter RequestID = #RequestID#

我正在尝试 link Apex 5 中的一个交互式报表的一列到另一个交互式报表。我想在后面的一个中使用第一个的值设置过滤器。我使用了 Link 类型的列,然后单击“目标”按钮来设置页码,如下所示:

没用。我读到还有其他方法,我可以使用 URL link 并构建 URL 以使用包传递参数但是如果我使用它,我如何将它绑定到 link?

通常您需要指定要在 link 中使用的运算符 - 文档: Developing Reports > Editing Interactive Reports in Page Designer > Linking to Interactive Reports

Snippet concerning setting up a link:

To create a filter, use the following itemNames and itemValues syntax:

IR[region static ID]<operator>_<target column alias>

Consider the following example:

IR[EMP]C_ENAME:KING

意思是,如果您想在报告中放置一个过滤器,其中列 REQUEST_ID 与给定值匹配,您需要等号运算符语法:

IREQ_REQUESTID:#REQUEST_ID#

但是,使用

IR_REQUESTID:#REQUEST_ID#

也应该有效,因为 EQ 运算符是默认运算符。

还要考虑其他问题:页面上是否有多个IR?你需要引用正确的。您生成的 link 正确吗?检查它!

对我来说,它是这样工作的: 我在第二个 IR 的第二页上创建了一个项目(仅显示)(源类型:null)。

在列属性的第一个 IR 中设置 Link 文本和目标和页码(就像您已经做的那样)。在名称部分放置您刚刚创建的项目,在值部分放置列名称,其中是您的过滤器的值(如#Request_ID'#)。

然后在第二个 IR 的第二页上,您将在区域源中放置如下内容:

select REQUEST_ID,
       REQUEST_NUMBER,
       NAME,
       FIRST_NAME,
       COMPANY,
       COUNTRY,
       TYPE,
       RQ_IS_ARCHIVE,
       RQ_ID_TO
  from REQUEST
where REQUEST_ID = :P20_REQUEST_ID

:P20_REQUEST_ID 是您在第二页上创建的项目。

您将第一页的 Request_ID 列的值传递给第二页的项目,然后将其用作条件。

希望这对你有帮助...

我找到了导致过滤器不起作用的原因。我试图过滤 "link" 类型的列。它在 "link" 时不起作用,但在 "plain text" 时起作用。所以现在你知道了。这是它的样子...