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

Oracle APEX中Shuttle组件筛选项目后右侧显示ID而非名称如何解决

Oracle APEX Shuttle组件切换筛选器后右侧显示ID问题解决方案

前置检查

先确认Shuttle组件的基础配置正确:

  • LOV的「返回值列」选择r(对应test_run_id,符合你保留主键作为返回值的要求)
  • LOV的「显示值列」选择d(对应name字段)

问题根源

该问题为Oracle APEX Shuttle组件的默认逻辑导致:Shuttle已选中项的显示值需要和当前LOV返回的结果集匹配,如果已选的返回值(test_run_id)不在当前筛选后的LOV结果内,系统无法找到对应的显示值name,就会直接展示返回值ID。选择「所有项目」时所有测试运行都在结果集内,因此显示正常;切换为特定项目后,跨项目的已选测试运行不在结果集内,就会出现显示ID的问题。


可选解决方案

方案1:保留跨项目已选记录,始终显示名称(推荐)

无需修改你原有的test_run_id as r配置,仅调整LOV查询,追加已选中的测试运行到结果集,保证所有已选ID都能匹配到对应的名称:

select name as d, test_run_id as r 
From test_run 
Where (
    project_jira_key = coalesce(:TR_BASED_ON_PROJECT, project_jira_key)
    and folder_id NOT IN(
        select folder_id from folder where name in (
            select column_value from table (apex_string.split(config.get('ATM_DASHBOARD_CONFIGURATION_FOLDER_EXCLUDE'), ','))
        )
    )
)
-- 追加当前Shuttle已选中的项,保证显示值可以正常匹配
OR test_run_id in (select column_value from table(apex_string.split(:PX_YOUR_SHUTTLE_ITEM, ':')))
order by name asc;

注意:把上述SQL中的PX_YOUR_SHUTTLE_ITEM替换为你实际Shuttle组件绑定的页面项名称。

方案2:切换项目时清空原有已选记录,避免显示ID

如果不需要保留跨项目的选中项,可以直接修改Shuttle组件属性:

  • 找到Shuttle组件的「级联」属性组
  • 将「级联刷新时清除值」设置为是
    切换项目筛选器时会自动清空原来的选中项,不会再出现ID展示的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:06:02