You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle APEX交互式报表中带自定义图片的Likert量表LOV显示问题

Oracle APEX交互式报表Likert量表LOV图片显示问题解决与组件推荐

一、解决图片显示为文本的方案

1. 关闭列的HTML转义

APEX默认会转义列输出中的HTML标签,导致图片代码被当成文本显示。需要在交互式报表的列属性中关闭转义:

  • 编辑交互式报表,找到目标列的属性设置
  • 切换到「Security」标签页
  • 将「Escape Special Characters」设置为 No

2. 修改APEX_ITEM.SELECT_LIST_FROM_QUERY参数

该函数默认会转义HTML内容,需显式添加P_ESCAPE => FALSE参数,让HTML标签正常解析。修改后的代码如下:

APEX_ITEM.SELECT_LIST_FROM_QUERY(
    P_IDX     => 1,
    P_VALUE   => a.answer_number, --- 你的列名
    P_QUERY   => ' SELECT
        CASE level
          WHEN 1 THEN ''<img  class="origin_image" src="#WORKSPACE_FILES#1.PNG" width="10px" height="10px" >''          
          WHEN 2 THEN ''<img  class="origin_image" src="#WORKSPACE_FILES#2.PNG" width="10px" height="10px">''
          WHEN 3 THEN ''<img  class="origin_image" src="#WORKSPACE_FILES#3.PNG" width="10px" height="10px">'' 
          WHEN 4 THEN ''<img  class="origin_image" src="#WORKSPACE_FILES#4.PNG" width="10px" height="10px">''
          WHEN 5 THEN ''<img  class="origin_image" src="#WORKSPACE_FILES#5.PNG" width="10px" height="10px">'' 
        END as d,
       level
         as r
    FROM DUAL
    CONNECT BY level <= 5;',
    P_ESCAPE  => FALSE -- 新增此参数关闭HTML转义
)

3. 验证图片路径有效性

确认图片已正确上传到工作区文件存储,路径中的#WORKSPACE_FILES#变量能被APEX正确解析。如果是应用专属文件,可替换为#APP_FILES#路径。

二、推荐组件

1. 交互式网格(Interactive Grid)原生Rating列

如果可以切换到交互式网格(比交互式报表更灵活),APEX 22.2及以上版本支持原生的Rating列类型:

  • 新建交互式网格,添加目标列后,将列类型设置为「Rating」
  • 在列属性中可自定义评分数量、图标样式(支持自定义图片或内置图标),无需手写代码即可实现Likert量表效果,稳定性更高。

2. APEX应用商店插件

可在Oracle APEX应用商店中搜索「Likert Scale」或「Rating Picklist」类插件,这些插件已封装好Likert量表的UI和交互逻辑,直接导入应用即可使用,减少自定义代码的维护成本。

内容的提问来源于stack exchange,提问作者Faezeh_Ebrahimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 05:25:03