oracle 向行添加超链接并在另一页中显示特定行

x7yiwoj4  于 2023-10-16  发布在  Oracle
关注(0)|答案(3)|浏览(84)

我有两个APEX Web应用程序页面,其中包含以下列:

Table 1:
Column1    Column 2 Column 3
a           x         123
b           y         456
c           u         567
d           v         678
e           w         789

Table 2 URL: https://example.com
Table 2:
ColumnA    ColumnB    ColumnC
a             aa         1234
c             vv         2222
b             ac         7654
e             cc         6789
d             kk         9809

Note: Column 1 and columnA are same values but jumbled

如果我单击表1的列1 'b',它应该会将我带到包含表2的行值'b'的页面。如果我点击表1中的“B”,输出应该在另一个页面中打开,如下所示:

Table 2
ColumnA    ColumnB    ColumnC
b             vv        2222

到目前为止我尝试了什么?
我尝试编辑URL: https://example.com/#COLUMNA#,但它显示整个表,而不是特定的超链接行。
我该如何解决这个问题?

cetgtptt

cetgtptt1#

具体操作如下:

  • 在第二页上,创建隐藏项:P2_COLUMNA
  • 修改其查询以使用WHERE子句中的该项,例如
select ... from table2 where columnA = :P2_COLUMNA
  • 在第一页上,为column1使用link列类型,并设置
  • 目标指向此应用程序中的一个页面(第二个页面,对吗?)
  • 设置项目:P2_COLUMNA#COLUMN1#
  • 运行第一页;当您单击用作链接的值时,它会将您重定向到第二个页面,填充隐藏项,该隐藏项将在第二个页面的WHERE子句中使用,并显示您期望的值
2eafrhcq

2eafrhcq2#

在第一页,在Interactive Report中创建链接列并设置属性:
1.目标页面
1.像这样传递值:

name = IR[<REPORT_STATIC_ID_ON_TARGET_PAGE>]EQ_<COLUMN_NAME_ON_TARGET_PAGE>
    value = #<COLUMN_NAME_ON_SOURCE_PAGE>#

1.清除缓存= RIR
阅读此https://docs.oracle.com/database/apex-5.1/HTMDB/linking-to-interactive-reports.htm#HTMDB30108

在图片上,我在同一页上传递了值,但没有区别。所以在点击之前,

点击之后

PS.你应该在IR上设置Staic ID属性

设置静态ID后

r1zhe5dt

r1zhe5dt3#

你试过使用Master-Detail吗?基本上,在设置从属表时,

  • 滚动到“主”属性并选择第一个表作为主表
  • 选择从属表和列属性中的链接列,滚动到主表并从父表中选择相应的列现在,当您单击主表中的行时,从属表将仅显示与相关列值对应的行。我不确定这是否符合你的要求。

湿婆

相关问题