Oracle APEX 23.1中Popup LOV如何渲染HTML格式化文本?
解决Oracle APEX 23.1交互式网格Popup LOV显示HTML格式化内容的问题
问题原因
APEX默认会对Popup LOV的显示内容做HTML转义,你拼接的HTML代码会被当作纯文本输出,无法被解析渲染。
解决方案步骤
拆分LOV的显示值与返回值
不要将HTML格式与数据库保存值混为一谈,LOV需要明确区分显示内容和实际返回值,调整SQL如下:select '<span class="class1">' || value || '</span>' as display_value, value as return_value from table1其中
display_value是下拉列表中要展示的格式化内容,return_value是最终保存到数据库的原始值。关闭Popup LOV的HTML转义
进入交互式网格对应列的属性设置,找到LOV属性区域,将Escape Special Characters(转义特殊字符)选项设为No,这样APEX就会解析渲染display_value中的HTML代码。确保自定义CSS生效
若你使用了class1这类自定义样式类,需将样式代码添加到应用全局CSS或当前页面的Inline CSS区域,示例:.class1 { color: #ff4500; font-family: "Microsoft Yahei", sans-serif; }优化交互式网格单元格显示
若选择值后,网格单元格仍显示纯文本返回值,可进入该列属性的Column Formatting区域,同样将Escape Special Characters设为No,并按需在HTML Expression中配置格式化逻辑。
内容的提问来源于stack exchange,提问作者Tien
相关产品推荐
相关产品推荐

