Oracle APEX - как программно выбрать отображаемое значение во всплывающем списке значений

Есть ли способ установить выбранное значение во всплывающем списке значений с помощью PL / SQL?

я использую

:P2_MYLOV := myval

Что устанавливает возвращаемое значение LOV на myval, но не отображает соответствующее отображаемое значение, как выбрано. Как я могу программно выбрать значение LOV и установить соответствующее отображаемое значение? Является ли это возможным?

Это действительно сработало для меня в какой-то момент, когда мой LOV был основан на SQL-запросе и показывал только одно значение

SELECT val_id
FROM Table1
WHERE field1 = 'test'
AND parent_id = :P2_ITEM1;

но как только я установил его для общего списка значений компонента с несколькими столбцами, он перестал работать


person Coding Duchess    schedule 20.10.2020    source источник
comment
Когда я пробую, он работает, как ожидалось. Можете ли вы установить пример на apex.oracle.com?   -  person Tony Andrews    schedule 21.10.2020
comment
У меня была аналогичная проблема, и я решил ее с помощью DA. Не могли бы вы вкратце объяснить, как изменить значение в pl / sql?   -  person davidm    schedule 22.10.2020


Ответы (1)


Не совсем понятно, о чем вы спрашиваете. Мой самый большой вопрос - когда вы пытаетесь изменить значение. Я предполагаю, что у вас есть элемент Apex, который является всплывающим списком значений на странице где-то, и вы хотите, чтобы значение выбиралось при загрузке страницы?

У вас есть элемент Источник, который представляет собой расчет, который определяет, какое значение будет подставляться при загрузке страницы. Это можно сделать с помощью выражения PL / SQL, запроса SQL или чего-то еще. Это может быть вычислено заново каждый раз, всегда, заменяя любое значение в состоянии сеанса или когда нет значения в состоянии сеанса. Только когда текущее значение в состоянии сеанса равно нулю.

Другой вариант - По умолчанию, который используется, если значение все еще равно нулю после расчета источника. Это также может быть выражение или запрос.

Если вы пытаетесь изменить значение элемента в браузере, скажем, в ответ на какое-либо действие пользователя, вам нужно динамическое действие, которое не будет использовать PL / SQL. Единственный случай, когда это может быть задействовано, - это если новое значение может быть вычислено только в базе данных, а Apex необходимо выполнить круговой обход базы данных, но это редко.

[Я только что попробовал динамическое действие для всплывающего списка значений на apex.oracle.com, и это не сработало. Не знаю почему. Однако это нормально работает с обычным списком выбора.]

person eaolson    schedule 24.10.2020