在Oracle APEX中根据条件修改shuttle穿梭框的文本颜色
Oracle APEX 穿梭框未录入KPI标红实现方案
该需求可以正常实现,操作步骤如下:

- 方案一:HTML拼接实现(兼容性强,无需额外配置CSS)
该方案直接在数据源SQL中对无结果记录的KPI拼接红色样式,操作最简便:
- 替换穿梭框原有的SQL查询语句:
select distinct case when exists (select 1 from results r where r.kpicode = d.kpicode) then d.kpi else '<span style="color:red">' || d.kpi || '</span>' end as k1, d.kpicode as k2 from documentation d where d.kpi is not null;
- 在穿梭框的属性面板中,找到「转义特殊字符」配置项,将其设置为「否」即可生效。
- 方案二:自定义属性+CSS实现(样式管理更灵活)
如果后续需要调整标红规则或样式,推荐用该方案:
- 修改穿梭框SQL,新增是否缺失结果的标识字段:
select distinct d.kpi as k1, d.kpicode as k2, case when exists (select 1 from results r where r.kpicode = d.kpicode) then 'N' else 'Y' end as is_missing from documentation d where d.kpi is not null;
- 给穿梭框组件设置静态ID,例如填写为
KPI_SHUTTLE - 在穿梭框「列表属性」的「自定义属性」配置项中,填入
data-is_missing="#IS_MISSING#" - 在页面「内联CSS」配置框中添加以下样式:
#KPI_SHUTTLE option[data-is_missing="Y"] { color: red !important; }
内容的提问来源于stack exchange,提问作者Seko sonogo
相关产品推荐
相关产品推荐

