在交互式报表中创建列链接-Oracle Apex

时间:2020-06-01 05:50:33

标签: oracle parameters hyperlink oracle-apex

我正在使用Apex 20.1.0.00.13,尝试在经典报表的列上创建链接。

我已按照以下步骤创建列的链接,并将其重定向到与以下步骤相同的应用程序中的页面:

要创建到另一个页面的链接,请在“链接生成器-目标”对话框中: 类型-在此应用程序中选择页面。 页-指定目标页码。 设置项目-选择名称和值以指定项目的会话状态。 清除会话状态,清除缓存-指定要在其上清除缓存的页码。要指定多页,请输入以逗号分隔的页码列表。 休息分页-选择是可重置此页面的分页。v 高级,请求-指定要使用的请求。 点击确定。

但是当我设置项目和值以指定项目的会话状态时,“设置项目:名称”不会填充列,它显示为空白,有人可以让我知道我要去哪里了。

我正在尝试从第1页建立链接,说一行的部门编号为2,将直接指向第2页,其中包含部门2的详细信息。还有其他方法可以做到这一点。由于它是列而不是项目,因此我无法将其作为参数传递给下一页。

提前谢谢!

2 个答案:

答案 0 :(得分:0)

正确;这里没有“项目”,您必须在报告中创建超链接。

假设这是经典报表的查询:

with test (id, name) as
  (select 1, 'Google' from dual union all
   select 2, 'Yahoo'  from dual union all
   select 3, 'Bing'   from dual
  )
select 
  id, 
  '<a href="' || case 
                  when name = 'Google' then 'https://www.google.com'
                  when name = 'Yahoo'  then 'https://www.yahoo.com'
                  when name = 'Bing'   then 'https://www.bing.com'
                end
              || '" target="_blank">' || name || '</a>' as link
from test
order by name;

转到LINK列的属性,并将“转义特殊字符”设置为“否”。运行报告;一切都会正常。


如果-如您所说-使用它导航到应用程序中的另一页并将某些项目设置为某些值(来自IR),那么您将执行以下操作:

SELECT   
  'f?p=&APP_ID.:217'            || 
  ':&APP_SESSION.::NO::P217_ID' || 
  ':' || r.id
  as link, ... 
FROM my_table r ...

换句话说:它导航到第217页,并将r.id列值传递到位于第217页的P217_ID项中。

创建链接列时,可以引用此类查询中的

link列。会是

  • 链接到自定义目标
  • 目标类型= URL
  • URL = #link#(从字面上讲,键入#link#

答案 1 :(得分:0)

可能您可以将这两个页面更改并合并为一个“主从页面”。这样,您可以使用内置的查找功能。