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

Creating a Column Link in an Interactive Report -Oracle Apex

我正在使用 Apex 20.1.0.00.13,尝试在经典报告的列上创建 link。

我已按照以下步骤为列创建 link 并将其重定向到同一应用程序中的页面:

To create a link to another page, in the Link Builder - Target dialog: Type - Select Page in this Application. Page - Specify the target page number. Set Items - Select a Name and Value to specify session state for an item. Clear Session State, Clear Cache - Specify the page numbers on which to clear cache. To specify multiple page, enter a comma-delimited list of page numbers. Rest Pagination - Select Yes to reset pagination for this page.v Advanced, Request - Specify the request to be used. Click OK.

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

我正在努力实现 link 从第 1 页说一行与部门编号 - 2,将定向到第 2 页,其中包含部门 2 的详细信息。有没有其他方法可以做到。由于它是一个列而不是一个项目,我无法将它作为参数传递到下一页。

提前致谢!

对;这里没有 "items",您必须在报告中创建 hyperlink。

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

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 列的属性并将 "Escape special characters" 设置为 "No"。 运行 报告;一切正常。


如果 - 如您所说 - 使用它导航到应用程序中的另一个页面并将某些项目设置为某些值(来自 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 列时,可以引用此类查询中的

link 列。这将是一个

  • link 到自定义目标
  • 目标类型 = URL
  • URL = #link#(按字面意思,输入 #link#

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