Refre sh форма, когда выбрано изменить интерактивный отчет oracle apex - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть страница с двумя регионами, интерактивный отчет и форма.

У меня есть динамическое c действие в отчете, когда я щелкаю строку, она устанавливает значение элемента в качестве идентификатора строки.

Как я могу обновить sh форма, чтобы получить значение, связанное с (Id) в элементе?

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

Насколько я знаю, регионы форм не обновляются sh, до APEX 19.2 в любом случае. Возможно, вы захотите использовать действие «Выполнить PL / SQL», чтобы получить значения для элементов формы. Вот полный пример.

  1. Создайте новую пустую страницу. Моей страницы было 26. Вам нужно обновить следующий номер до вашего номера страницы.
  2. Создать новый регион. Установите Заголовок на Сотрудники , Тип на Интерактивный отчет , Имя таблицы на EMP и Stati c ID до emps-reg .
  3. Выберите столбец EMPNO отчета и установите Stati c ID до empno-col .
  4. Создать еще один новый регион. Установите Заголовок в Сведения о сотруднике , Тип в Форма и Имя таблицы в EMP .
  5. Выберите элемент P26_EMPNO (создается автоматически после последнего шага). Включите параметр Первичный ключ в Источник .
  6. Создайте действие Dynami c. Установите Имя на Нажатие строки сотрудника , Событие на Нажмите , Тип выбора на jQuery Селектор , jQuery Селектор на #emps-reg table:eq(1) tr:not(:eq(0)) и Область событий на Dynami c.

    При установке области событий на Dynami c будет оставьте действие Dynami c действующим после обновления отчета.

  7. Выберите действие, которое было создано по умолчанию на предыдущем шаге. Установите Действие на Установите Значение , Введите на JavaScript Выражение и JavaScript Выражение на $(this.triggeringElement).find('td[headers="empno-col"]').text().

    Выражение JavaScript будет начинаться с tr, который был нажат и перемещен вниз к элементу td, который имеет empno сотрудника и возвращает это значение.

  8. Щелкните правой кнопкой мыши элемент P26_EMPNO в области формы и выберите Создать Dynami c Действие . Это создаст действие Dynami c с правильно настроенными настройками событий. Установите Имя на P26_EMPNO изменено .
  9. Выберите действие, созданное по умолчанию на предыдущем шаге. Установите Действие на Выполнить PL / SQL Код , затем введите следующий код в PL / SQL Код:

    select ename, job, mgr, hiredate, sal, comm, deptno
    into :P26_ENAME, :P26_JOB, :P26_MGR, :P26_HIREDATE, :P26_SAL, :P26_COMM, :P26_DEPTNO
    from emp
    where empno = :P26_EMPNO;
    
  10. В То же действие, установите Элементы страницы для отправки в P26_EMPNO . Это переведет значение в элементе первичного ключа в состояние сеанса до выполнения вашего кода.
  11. В том же действии установите Элементы страницы для возврата в P26_ENAME, P26_JOB, P26_MGR , P26_HIREDATE, P26_SAL, P26_COMM, P26_DEPTNO . Это вернет текущие значения в состоянии сеанса элементам на странице.

Поскольку вы заполняете элементы с помощью Ajax, вам может потребоваться добавить дополнительный код для вещей, которые обычно указывается в элементе формы, например форматирование даты или числа.

0 голосов
/ 13 февраля 2020

Вы можете создать действие Dynami c (DA), которое срабатывает при изменении идентификатора элемента, а затем обновляет форму.

Создание DA. Установите «Событие» атрибута «Когда» DA на «Изменить», «Тип выбора» на «Элемент», а затем выберите элемент, в котором вы сохраняете свой идентификатор.

Установите для True Action значение «Refre sh» и выберите «Region» в качестве «Затронутых элементов», затем выберите указанный c Region, который вы хотите refrseh, который является вашей формой.

Теперь, когда значение элемента ID изменяется , форма будет обновлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...