Элемент челнока Oracle Apex 18 отображает последние выбранные значения справа - PullRequest
0 голосов
/ 03 ноября 2018

Я успешно реализовал список челноков, используя динамическое действие с кодом ниже

declare
    tab apex_application_global.vc_arr2;
begin
    tab := apex_util.string_to_table (:P14_NEW_1);
    for i in 1..tab.count loop
        insert into xxtest (COL1, COL2)
        values (:P14_NEW, tab(i));
    end loop;
    commit;
end;

Проблема в том, что каждый раз, когда пользователь открывает формы, он не показывает последние выбранные значения справа, я не понимал эту логику, как я могу показать выбранные элементы как сохраненные в таблице справа при загрузке страницы

1 Ответ

0 голосов
/ 03 ноября 2018

Вы выполнили первую часть задания - сохранили выбранные значения в таблице.

Следующий шаг - вернуть их обратно. Для этого

  • перейти к источнику объекта * челнока
  • установить его тип на "SQL-запрос (вернуть значения, разделенные двоеточиями)
  • SQL-запрос должен выглядеть следующим образом:

    select listagg(col2, ':') within group (order by null)
    from xxtest
    where ... --> include condition, if there is any - I believe it should
    
  • установить для свойства «Использовано» значение «Всегда», заменив любое существующее значение в состоянии сеанса

Запустить страницу; Теперь предмет шаттла должен быть заполнен с правой стороны.

Что касается предложения where: я не знаю, для чего нужно делать то, что вы делаете, но - если вы не различите строки, хранящиеся в таблице xxtest, все пользователи будут использовать тот же набор записей и перезаписывают данные друг друга. Если xxtest.col1 представляет имя пользователя (таким образом, это не будет :P14_NEW, а :APP_USER вместо этого), вы должны использовать его в предложении WHERE. В противном случае, подумайте об этом.

...