如何显示交互式报表的报表别名

时间:2017-06-05 06:06:30

标签: oracle-apex

有没有办法在页面上显示报表别名,而无需像开发人员那样进入已保存的报表?

例如,我想在页面上显示用户当前正在查看的任何交互式报告的直接URL(因此他们可以直接为报告添加书签)。

通常,当被要求提供直接链接时,我会进入开发人员和grab the snippet并向他们发送直接链接

我希望用户能够自助服务 - 在报告页面上显示直接链接,以便他们可以将其复制以供日后使用。

任何想法如何在ApEx 4.2中做到这一点?

1 个答案:

答案 0 :(得分:0)

创建一个隐藏项..让它命名为P1_REPORT

您可能希望在全局页面上创建

为您的链接创建一个仅显示项目。让我们将其命名为P1_LINK

现在我们需要创建一个动态操作来将适当的别名传递给P1_REPORT。一旦我们填充了P1_REPORT,我们就可以将其传递给链接。

动态行动

事件:刷新后

输入:region

地区:[您的互动报告]

真实行动

true action#1:执行JavaScript代码

页面加载时触发=是

代码:

varSelected = $("apex_ir_SAVED_REPORTS option:selected" ).text();
$s('P1_REPORT', varSelected);

apex 5将要求您利用静态ID,因为每页可以有超过1个IR,但此选择器在4.2 上可以正常工作

真实行动#2:设定价值

火灾加载=是

设置类型:pl / sql函数体

代码:

Declare
v_path varchar2(255):=null;
v_report varchar2(30):= :P1_REPORT;
Begin 
   If v_report = '1. Primary Report' then
      v_path := 'ALIAS_1';
   Elsif v_report = 'some other report' then
      v_path := 'ALIAS_2';
   End if;

  Return '<a href="f?p=311:28:&APP_SESSION.:IR_REPORT_' || v_path || '">report link</a>';
End;
  • 要提交的页面项目:P1_REPORT
  • 受影响的元素:项目; P1_LINK

从我的iPhone发送