APEX LOV Отображение значения ссылки

Этот вопрос, связанный с нами, к: APEX LOV Показать значение посмотреть, где Тони Эндрюс рекомендует сделать:

select display_value
from apex_application_lov_entries
where application_id = 123
and list_of_values_name = 'DEPT_LOV'
and return_value = :p1_deptno;

Это, кажется, ссылается на записи LOV уровня приложения; Есть ли способ запросить LOV, определенный в элементе страницы?

Я хотел бы иметь возможность использовать переменную для ссылки на отображаемое значение LOV вместо его возвращаемого значения. Так что, если у меня есть LOV в элементе под названием P2_TERM_SELECT затем :P2_TERM_SELECT. даст его возвращаемое значение, но есть ли другая переменная для его отображаемого значения?

2 ответа

Почему бы не для удобства преобразовать элемент страницы lov в lov в общих компонентах? Я имею в виду, что может быть способ извлечь его из предмета, но разве это не так беспорядочно? Где вам нужно отображаемое значение: в plsql или на самой странице? Если на самой странице всегда есть javascript.

Tony использует запрос, который будет извлекать записи из статического LOV. Было бы менее ясно, когда LOV будет содержать SQL.

Вы можете получить настройки для элемента страницы LOV:

SELECT lov_definiation
FROM APEX_APPLICATION_PAGE_ITEMS
WHERE application_id = 123
AND page_id = 1
AND item_name = 'P1_DEPTNO';

Однако это вернет только строку. Оператор выбора будет строкой. Если вы определили список статических значений, то возвращаемым будет также строка: та же, что и в определении. Пример:

STATIC2:SALES;10,RESEARCH;20

Я не знаю встроенного способа синтаксического анализа, за исключением, возможно, в apex_plugin_util, но я бы сказал, что вряд ли это место для его использования. Если вы не хотите снимать свои собственные (редактировать: я пытался с apex_plugin_util.get_data, но это не работает с STATIC2 формат).

Я бы серьезно подумал о том, что вы делаете, и как это сложится. Я бы порекомендовал использовать разделяемый компонент LOV, если вы собираетесь использовать статические значения или рассмотреть возможность использования таблицы поиска для ваших значений.

  1. Нет ничего похожего на уровень страницы в apex. Когда вы создаете LOV, он всегда является частью общих компонентов и уровня приложения.

  2. P2_TERM_SELECT lov item всегда возвращает то, что вы даете в возвращаемом значении.

    Итак, в вашем сценарии, если вы хотите, чтобы значение описания было из: P2_TERM_SELECT, тогда одной идеей является запрос LOV, как в следующем примере:

    выберите display_value disp, return_value || ':' || display_value ret из some_table.

    затем, чтобы получить отображаемое значение из элемента P2_TERM_SELECT, затем выполните substr (: P2_TERM_SELECT, INSTR (: P2_TERM_SELECT, ':') + 1, LENGTH (: P2_TERM_SELECT))

Thnx

MK

Другие вопросы по тегам