APEX Interactive Grid(IG) 如何实现单元格值内的换行?
Oracle APEX Interactive Grid(IG)单列拼接内容插入换行最优方案
失效原因说明
之前使用||chr(10)||拼接换行未生效,是因为IG默认将列内容作为纯文本渲染,原生换行符不会被解析为页面可见的换行效果。
具体实现方案
方案一(优先推荐,安全性更高)
不需要修改原有SQL拼接逻辑,仅通过CSS样式实现换行:
- 给IG对应列设置自定义CSS类,例如命名为
ig-line-break - 页面级CSS中加入如下代码:
.ig-line-break { white-space: pre-line; }
该方案不需要关闭列的特殊字符转义,可规避XSS风险,自动识别内容中的chr(10)换行符渲染为可见换行。
方案二(适配需要自定义HTML格式的场景)
- 调整SQL拼接逻辑,将换行符替换为HTML换行标签,示例代码:
SELECT 列1 || '<br>' || 列2 || '<br>' || 列3 AS 拼接展示列 FROM 业务表
- 进入IG对应列的属性面板:
- 安全性设置中关闭转义特殊字符选项
- 显示设置中将显示为属性调整为纯文本(不转义)
注意事项
如果拼接的内容包含用户可自定义输入的字段,禁止使用方案二,避免恶意脚本注入风险。
内容的提问来源于stack exchange,提问作者TonyS
相关产品推荐
相关产品推荐

