Oracle Apex文本项赋值后无法换行显示的技术问题
解决Oracle Apex文本项换行不生效的问题
原因分析
Apex前端渲染时,普通单行文本框会忽略chr(13)||chr(10)这类换行符;即使是文本区域,部分场景下浏览器也不会自动解析这些字符为换行,需要针对性调整。
解决方案
方案1:改用HTML换行符<br>替换回车换行
修改PL/SQL代码,把chr(13)||chr(10)换成<br>,同时需将文本项的Escape Special Characters属性设置为No,确保Apex能正常渲染HTML标记:
for row in (select EName, Comm from EMP where instr( ':'||:P18_SHARED_SALESMAN||':', ':'||EmpNo||':' ) > 0 ) loop :P18_SHARED_NEW_COMMISSIONS := :P18_SHARED_NEW_COMMISSIONS || row.EName || ': ' || row.Comm || '<br>'; end loop;
方案2:切换为文本区域(Text Area)类型项
若当前使用的是单行Text Field,直接替换为Text Area类型,原代码中的chr(13)||chr(10)换行符会被文本区域自动解析为换行显示,无需额外配置。
方案3:CSS强制换行(适配特殊场景)
如果无法修改项类型或代码,可给文本项添加自定义CSS样式强制内容换行:
- 在文本项的CSS Classes属性中添加自定义类(比如
wrap-text) - 在页面的内联CSS中定义样式:
.wrap-text { white-space: pre-wrap; }
内容的提问来源于stack exchange,提问作者feoftheda
相关产品推荐
相关产品推荐

