Выберите второе значение вершины оракула списка

Когда я создаю список выбора на основе SQL-запроса, он запрашивает 2 столбца. Например, я сделал что-то вроде: select itemcode, itemname from items в списке выбора с именем LST_ITEMS. Мне нужно получить или получить оба значения, когда я вызываю его с помощью :LST_ITEMS.


person Alex Sáenz    schedule 16.11.2015    source источник


Ответы (2)


Вы можете написать запрос как:

select itemname display_value, 
       itemcode || ':' || itemname return_value
  from items

После этого вы получите комбинированное значение в переменной :LST_ITEMS. Вы можете разобрать его в коде PL/SQL дальше. Например:

declare
   code number;
   name varchar2(100);
begin
   code = substr(:LST_ITEMS, 1, instr(:LST_ITEMS, ':') - 1);
   name = substr(:LST_ITEMS, instr(:LST_ITEMS, ':') + 1);
end;
person Dmitriy    schedule 16.11.2015
comment
Apex считает отображаемым значением первый элемент в вашем запросе, а возвращаемое значение — вторым, поэтому ваш запрос должен выглядеть следующим образом select itemname display_value, itemcode || ':' || itemname return_value from items - person Cristian_I; 16.11.2015
comment
@Cristian_I Спасибо, я часто об этом забываю. - person Dmitriy; 16.11.2015

Вы можете получить это, используя динамическое действие Javascript, например так

$s('P1_Display_Val',apex.item("LST_ITEMS").displayValueFor("1"));

Это копирует отображаемое значение элемента LST_ITEMS (с возвращаемым значением = 1) в элемент P1_Display_Val. либо 1 было выбранным значением, либо нет.

person Saddam Meshaal    schedule 10.08.2020