APEX 5.1中的经典报告动态标题

时间:2019-02-15 12:18:07

标签: oracle dynamic report oracle-apex oracle-apex-5

我有一个由SQL查询驱动的经典报告。

如何根据另一列的值动态设置列标题?

例如,我的SQL返回列A, B, VERSION。我希望如果A为1,SQL列VERSION的经典报告列标题为'Foo',但如果VERSION为2,则为'Bar'。

1 个答案:

答案 0 :(得分:1)

我不知道您所说的查询受主键约束是什么意思。

无论如何,这是一条建议,可能会(或可能不会)有所帮助。

基于示例SCOTT架构,我创建了一个简单的经典报表,

select e.ename, e.job
from emp e 
where e.deptno = :P42_DEPTNO

我还创建了一个P42_DEPTNO项目,该项目-将结果约束到一个部门。例如,如果您在10中输入P42_DEPTNO,则将得到在会计部门工作的员工。

此外,我创建了一个隐藏项目P42_DNAME,其来源是SQL查询

select dname
from dept
where deptno = :P42_DEPTNO

,它返回P42_DEPTNO值的部门名称。其“已使用”属性设置为“始终替换会话状态中的任何现有值”。此项(P42_DNAME)将用作报告返回的ENAME列的自定义标题

为此,请打开ENAME列的属性,并将其放入“名称”属性中:&P42_DNAME.(字面意义上的&符号+项目名称+点-不要别忘了尾随点!)。

仅此而已;

  • 运行报告
  • 10输入P42_DEPTNO
  • ENTER
  • 报告将显示在部门10工作的员工,并且ENAME列的标题为ACCOUNTING