在 IR 报告中创建超链接
Creating Hyperlink in IR report
在 oracle apex 中,如何将 table 中的信息从交互式报告列table 发送到不同的外部页面?
被 link 访问的页面将显示不同的数据,具体取决于用户单击的 IP。
我知道 hyperlink 使用 href 但 oracle apex 使用 links 但我没有得到任何工作
我正在做的一个例子是
我有一份 IR 报告,其中一列有 IP 地址,当用户单击 IP 地址时
它假设将它们发送到我们服务器上的不同位置。
100.100.100.100- should send me to the Printers
100.100.100.101 -should send me to Drivers
我是这样理解这个问题的。
TEST
CTE 代表您的 table
- 其中一列是`ip_address'
- 根据该值,您想导航到某些 URL
一个选择是使用 CASE
(或 DECODE
,但 - CASE
更易于阅读和维护)并明确决定你想去哪里,具体取决于每个 ip_address
值 - 这就是我的示例显示的内容。
另一种方法是扩展 table (alter table ...
),添加另一列并将确切的 URL 放在那里。这样扩展性更好,因为 - 如果您向 table 添加新行,则必须编辑交互式报告的查询并添加另一个 CASE
选项,即 stupid。我建议你改变 table.
无论如何,开始吧:这是一个交互式报表查询。没什么特别的,只要注意编辑link
列的属性,将"Escape special characters"设置为"No"。
with test (id, name, ip_address) as
(select 1, 'Google', '100.100.100.100' from dual union all
select 2, 'Bing' , '100.100.100.101' from dual
)
select
id,
name,
'<a href="' || case
when ip_address = '100.100.100.100' then 'https://www.google.com'
when ip_address = '100.100.100.101' then 'https://www.bing.com'
end
|| '" target="_blank">' || ip_address || '</a>' as link
from test;
[编辑]
如果 table 包含 URL 本身,那么我建议如下:
with test (id, name, ip_address, url) as
(select 1, 'Google', '100.100.100.100', 'https://www.google.com' from dual union all
select 2, 'Bing' , '100.100.100.101', 'https://www.bing.com' from dual
)
select
id,
'<a href="' || url || '" target="_blank">' || name || '</a>' as link
from test;
此查询将 name
显示为超链接。为什么?因为我认为看到例如"Google" 比看到更容易接受table “100.100.100.101”。人们通常更喜欢 names 而不是 numbers。看看有没有帮助。
在 oracle apex 中,如何将 table 中的信息从交互式报告列table 发送到不同的外部页面?
被 link 访问的页面将显示不同的数据,具体取决于用户单击的 IP。
我知道 hyperlink 使用 href 但 oracle apex 使用 links 但我没有得到任何工作
我正在做的一个例子是
我有一份 IR 报告,其中一列有 IP 地址,当用户单击 IP 地址时
它假设将它们发送到我们服务器上的不同位置。
100.100.100.100- should send me to the Printers
100.100.100.101 -should send me to Drivers
我是这样理解这个问题的。
TEST
CTE 代表您的 table- 其中一列是`ip_address'
- 根据该值,您想导航到某些 URL
一个选择是使用 CASE
(或 DECODE
,但 - CASE
更易于阅读和维护)并明确决定你想去哪里,具体取决于每个 ip_address
值 - 这就是我的示例显示的内容。
另一种方法是扩展 table (alter table ...
),添加另一列并将确切的 URL 放在那里。这样扩展性更好,因为 - 如果您向 table 添加新行,则必须编辑交互式报告的查询并添加另一个 CASE
选项,即 stupid。我建议你改变 table.
无论如何,开始吧:这是一个交互式报表查询。没什么特别的,只要注意编辑link
列的属性,将"Escape special characters"设置为"No"。
with test (id, name, ip_address) as
(select 1, 'Google', '100.100.100.100' from dual union all
select 2, 'Bing' , '100.100.100.101' from dual
)
select
id,
name,
'<a href="' || case
when ip_address = '100.100.100.100' then 'https://www.google.com'
when ip_address = '100.100.100.101' then 'https://www.bing.com'
end
|| '" target="_blank">' || ip_address || '</a>' as link
from test;
[编辑]
如果 table 包含 URL 本身,那么我建议如下:
with test (id, name, ip_address, url) as
(select 1, 'Google', '100.100.100.100', 'https://www.google.com' from dual union all
select 2, 'Bing' , '100.100.100.101', 'https://www.bing.com' from dual
)
select
id,
'<a href="' || url || '" target="_blank">' || name || '</a>' as link
from test;
此查询将 name
显示为超链接。为什么?因为我认为看到例如"Google" 比看到更容易接受table “100.100.100.101”。人们通常更喜欢 names 而不是 numbers。看看有没有帮助。