【问题标题】:How do I customize column headers with HTML in a report region of an Oracle APEX page?如何在 Oracle APEX 页面的报告区域中使用 HTML 自定义列标题?
【发布时间】:2014-08-01 03:49:05
【问题描述】:

测试平台范围:Oracle 11g XE、Oracle APEX 版本 4.0.2 和 4.2.5

在分配源查询或表/视图关联后,我不喜欢分配给 APEX 报告的列标题。我该如何改变它们?我可以添加特殊格式和嵌入代码(例如 HTML 十六进制、十进制或短代码)吗?

附加问题:当我运行“下载”或“保存到 csv”操作时,如何将这些格式代码排除在导出的文本值之外?

【问题讨论】:

    标签: html oracle11g oracle-apex oracle-xe


    【解决方案1】:

    Oracle APEX 报告标题的条件格式和特殊格式

    这是另一个 SO 帖子的广义扩展,该帖子要求:How do I conditionally change the field (column) names on an APEX report。此问答解释更笼统地讨论了 Oracle APEX 报告中的对象项和属性的动态分配。此示例通过在报告列标题的文本中嵌入 HTML 代码来实现此目的。这应该是可搜索的,并且对更广泛的受众更有帮助。

    已解决的问题

    1. 如果您不喜欢最初的结果,如何更改 REPORT 输出标题。
    2. 如何绕过 APEX 报告设计页面的初始限制:显示 HTML 代码和其他特殊文本格式命令
    3. 如何防止这些格式代码出现在文本格式(ascii、utf-8 等).csv(逗号分隔值)导出文件中。

    ...让我们开始吧!

    更改 APEX 报告输出标题:仅文本

    尝试编辑报告区域定义:

    请注意,我还可以定义从已定义的页面项填充的替换值。

    例如,页面项目 = P2_MY_TITLE 将表示为:&P2_MY_TITLE.


    更改 APEX 报告输出标题:带有 CSV 输出切换的 HTML 格式

    在 4.0.2 版上让交互式报告和经典报告显示 HTML 格式的文本时遇到了一些问题...本示例的其余部分是使用 APEX 4.2.5 版上的较新实例完成的。此示例是使用交互式报告完成的。

    我定义了两个页面项目:PX_DISPLAY_FORMATPX_ID_COLUMN_HEADER。前者只是为了方便用户定义他们的意图是“仅查看”还是“导出为 CSV”。选择适当的选项将动态设置显示的报告格式。

    后一项:PX_ID_COLUMN_HEADER 用于 ID 列。我定义了一个简短的 PL/SQL 函数输出来决定显示什么。

        BEGIN
           if :P6_DISPLAY_FORMAT = 'html-coded'
              then return 'à © æ';
           else return 'MY_ID_COLUMN';
           end if;
        END;
    

    我用这些代码来测试:

    • à(希腊字母 alpha)--十进制值
    •   (空格 - 格式)
    • ©(版权符号)
    • æ(在 aesop、aeneid、faeroes... 中表示 a + e 符号)

    可能会注意到还有下一步:

    这个函数可以泛化,列标题选择保留为表驱动数据等。PX_ID_COLUMN_HEADERPX_DISPLAY_FORMAT 项目值中提取,就像为其他列定义的其他项目一样。

    现在是两种模式下最终产品的屏幕图片:

    仅查看(使用特殊的 HTML 字符和格式)

    提示:在左侧最后一列查找 ID 列。

    CSV 导出格式(仅包含文本值)

    [交叉引用:#csv#delimited 报告#column headers#html 格式 ]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 2018-03-03
      • 2017-03-16
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多