Oracle APEX 数据网格 LOV 在单击之前不显示显示名称

Posted

技术标签:

【中文标题】Oracle APEX 数据网格 LOV 在单击之前不显示显示名称【英文标题】:Oracle APEX Data Grid LOV not showing display name until clicked 【发布时间】:2019-02-08 17:59:32 【问题描述】:

我遇到了一个问题,即 Oracle APEX 数据网格单元显示值列表而不是名称。数据网格列附有一个 LOV(值列表)。 LOV 选择语句 SQL:

select ps.sort_by_num||') '|| s.strategy_name AS d, 
s.strategy_id AS r
from strategies s, period_strategies ps
where ps.strategy_id = s.strategy_id
and ps.period_id =:P11_PERIOD_ID
ORDER BY ps.sort_by_num

:P11_PERIOD_ID 来自页面中的单独区域。

显示数据网格时,它显示的是 strategy_id 而不是所需的显示名称。当我单击网格单元格时,它会拉出应该显示的正确名称。一旦我单击选定的单元格,ID 就会再次显示。

如何让 LOV 在未选择单元格时显示正确的显示名称?

【问题讨论】:

【参考方案1】:

调整 select 语句,使其全部在另一个 select 语句的 from 子句中。

select d, r from
(select ps.sort_by_num||') '|| s.strategy_name AS d, 
s.strategy_id AS r
from strategies s, period_strategies ps
where ps.strategy_id = s.strategy_id
and ps.period_id =:P11_PERIOD_ID)
ORDER BY d

【讨论】:

以上是关于Oracle APEX 数据网格 LOV 在单击之前不显示显示名称的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Apex 根据 LOV 选择的值动态启用/禁用文本字段

Oracle APEX - 来自 LDAP 的 LOV

Oracle Apex - 逗号分隔的 LOV

在 oracle apex 20 中仅显示表中显示来自 LOV 的显示值而不是 id

Oracle Apex 5.1:基于 LOV(值列表)的报告列显示返回值而不是显示值

Oracle APEX交互式网格新行不可编辑