Это особенность HTML-форм, не зависящая от Apex: значение отключенного элемента не передается при отправке формы. Обходной путь - скопировать значение элемента в другой скрытый элемент при его отключении, а затем при передаче страницы скопировать значение скрытого элемента в отключенный элемент.
Я создал демонстрационную версию решения здесь, на apex.oracle.com . Работает следующим образом:
Предметы
- P19_SELECT - список выбора.
source value
имеет значение &P19_SAVE.
, с source used
"только когда текущее значение в состоянии сеанса равно нулю"
- P19_NUM управляет включением или отключением списка выбора: P19_SELECT включается, когда P19_NUM = 0, иначе отключен. Значение по умолчанию - 0.
- P19_SAVE используется для сохранения значения P19_SELECT. Это может быть скрытый предмет, я сделал его видимым для демонстрационных целей.
Процессы
Когда нажата кнопка «Отправить», запускается следующий процесс отправки страницы PL / SQL:
:p19_num := :p19_num+1;
:p19_save := nvl(:p19_select,:p19_save);
Первый оператор увеличивает счетчик, чтобы отключить P19_SELECT, второй сохраняет текущее значение P19_SELECT в P19_SAVE.
Динамическое действие
Существует одно динамическое действие, определенное следующим образом:
- Когда событие: загрузка страницы
- Когда условия нет
- Тип условия: значение элемента / столбца в выражении 1! = Выражение 2
- Выражение 1: P19_NUM
- Выражение 2: 0
- True Action:
- Действие: отключить
- Выберите тип: Item
- Item: P19_SELECT
- Пожар при загрузке страницы: проверено
- Ложное действие: (нет)
Кнопка сброса очищает кэш, поэтому P19_NUM возвращается к 0.