Я создал интерактивный отчет, который заполняется элементами Apex (текстовое поле, список выбора и т. Д.), Чтобы использовать отчет в качестве динамической формы.
В частности, я использую функцию SELECT_LIST_FROM_QUERY для создания динамического списка выбора.
Когда я хочу динамически заполнить отчет данными, мне нужно иметь возможностьадресуйте различные элементы однозначно, чтобы установить их значения.
Теперь Документация Oracle для элементов Apex предлагает следующий синтаксис для SELECT_LISTs :
SELECT empno "Employee #",
ename "Name",
APEX_ITEM.SELECT_LIST(
p_idx => 3,
p_value => deptno,
p_list_values => 'ACCOUNTING;10,RESEARCH;20,SALES;30,OPERATIONS;40',
p_attributes => 'style="color:red;"',
p_show_null => 'YES',
p_null_value => NULL,
p_null_text => '-Select-',
p_item_id => 'f03_#ROWNUM#',
p_item_label => 'Label for f03_#ROWNUM#',
p_show_extra => 'YES') "Department"
FROM emp;
Важными атрибутами для того, что мне нужно, являются "p_item_id" и "p_item_label" .
Для них в документации сказано:
• Атрибут HTML ID генерируется для каждой строки, где # ROWNUM # подставляется вместо текущей строки rownum (параметр p_item_id). (Таким образом, для строки 4 создается идентификатор «f03_4».)
• Элемент метки HTML создается для каждой строки (параметр p_item_label).
Это должно быть то же самое для SELECT_LIST_FROM_QUERY , но чтобы быть уверенным, я протестировал его с обоими, и ни один из них не работает.
Сам элемент Apex создан нормально, но HTML-теги элементов не содержат требуемый ROWNUM.
Вместо того, чтобы отображаться как id="f03_4"
, как следует из документации, ключевое слово # ROWNUM # не заменяет текущий номер строки и простов приведенном выше примере отображается как <select name="f03" style="color:red;" id="f03_#ROWNUM#">
.
Я что-то пропустил? Почему это не работает так, как это было описано? Мы работаем с APEX 19.1, и API для этой функциональности APEX_ITEM в основном такой же, как и в Apex 5. Поэтому я не думаю, что произошли какие-либо изменения.
Любые идеи приветствуются!