如何在 Apex 交互式报表的列数据中显示新行

Posted

技术标签:

【中文标题】如何在 Apex 交互式报表的列数据中显示新行【英文标题】:How do I display a new line within column data in an Apex Interactive Report 【发布时间】:2015-03-05 00:54:52 【问题描述】:

我正在使用 Apex 4.2 和 Oracle 11.g

我有一个名为“交易详情”的列,我在交互式报告中显示。报表列的显示文本为选项设置为“标准报表列”。 报告列是从名为 transaction_detail 的 varchar2 表列中选择的。我也只是在建桌子。 transaction_detail 表列由具有以下代码的过程填充:

Insert into mail_log (transaction_type, transaction_detail)
Values ('FTP Transaction',
           'Filename=' || p_image_filename || 
                '<br/>' || 'Event Description=' || l_event_description);

程序代码可以轻松更改。 报告只显示:

Filename=myfile.jpg<br/>Event Description=my description

我尝试在过程中使用 CHR(13) 代替 html 字符,然后尝试用 html 字符替换顶点中的 CHR(13)。而不是简单地选择列:

  , transaction_detail

我试过了:

 , REPLACE(transaction_detail, CHR(13), '<br/>')

但我无法通过 Apex 错误:ORA-12899: value too large for column "APEX_040200"."WWV_FLOW_WORKSHEET_COLUMNS"."DB_COLUMN_NAME"(实际:49,最大值:30)

如果列是标准报告列,Apex 是否应该能够将 解释为新行?

感谢您查看此内容。

【问题讨论】:

在更活跃的 OTN 论坛community.oracle.com/message/12930627 中对此进行了扩展讨论 【参考方案1】:

Jorge (jrimblas) 和其他人在 OTN 论坛上回答了这个问题。该讨论的链接在上面。简短的总结,在存储过程中我去掉了'<br/>' 并用CHR(13) 替换它。然后,在 Apex 交互式报告中,我不需要将列更改为“标准报告列”。我将以下内容放在该列的“HTML 表达式”中。

<div style="width:240px">
<pre style="font-family:Arial; font-size:12px; white-space:pre-wrap">#TRANSACTION_DETAIL#</pre>
</div>

【讨论】:

以上是关于如何在 Apex 交互式报表的列数据中显示新行的主要内容,如果未能解决你的问题,请参考以下文章

交互式报表 Oracle Apex 5 上的 LOV

Oracle APEX交互式网格新行不可编辑

在 Oracle APEX 交互式报表中更新与过滤器相关的页面项目

如何在Oracle Apex交互式报表的行中添加更新按钮?

如何在 Oracle APEX 交互式网格报表中维护正在运行的计数器

在 APEX 交互式报表中使用 in 语句