powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Модальный диалог выбора
25 сообщений из 111, страница 3 из 5
Модальный диалог выбора
    #39298368
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КурдльblkangelНу тогда без промежутков это будет так выглядеть
Код: javascript
1.
Column Attributes > Column Link > Link Attributes > onClick="parent.$s($v('PXXX_RETURN_NAME'),#EMPNO#);apex.navigation.dialog.close('close');"


Да, это работает!
Спасибо - отличное решение для "модальных селекторов", вызываемых из одной страницы.
Можно еще придумать, как динамически заменять 'PXXX_RETURN_NAME' на 'PYYY_RETURN_NAME' для случаев, когда вызовы модального диалога будут производиться из разных страниц.

Поясните
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298369
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelА возвращаться то чего будет декларативно?
У меня возвращаются данные из промежуточных ITEMs, вписанных в параметр Items To Return TRUE ACTION "Close Dialog".
А эти ITEMs, соответственно, заполняются по onClick на строчке из IR-выбора.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298380
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КурдльblkangelА возвращаться то чего будет декларативно?
У меня возвращаются данные из промежуточных ITEMs, вписанных в параметр Items To Return TRUE ACTION "Close Dialog".
А эти ITEMs, соответственно, заполняются по onClick на строчке из IR-выбора.

Т.е. заполнение все равно не декларативно, плюс куча айтемов?
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298384
non-apexoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel, Значения элементов на вызываемой странице диалога.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298386
non-apexoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, и действительно, вы правы. В обсуждении на 3 страницы в общем-то несложного вопроса главного не заметил.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298387
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
non-apexoidblkangel, Значения элементов на вызываемой странице диалога.
Ваш Вариант:
1. Создать скрытые элементы в модальном окне
2. Заполнить не декларативно данными скрытые элементы
3. На каждом родительском окне создать DA.
4. Передать данные из модального окна в родительское.
5. Закрыть модальное окно

Мой вариант.
1. Заполнить не декларативно данными элементы на родительском окне
2. Закрыть модальное окно.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298391
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelКурдльМожно еще придумать, как динамически заменять 'PXXX_RETURN_NAME' на 'PYYY_RETURN_NAME' для случаев, когда вызовы модального диалога будут производиться из разных страниц.

Поясните
Поясняю.
Мы рассмотрели решение, когда клик на строке IR модального диалога вызывает заполнение конкретного ITEM 'PXXX_RETURN_NAME'.
Но хотелось бы добиться заполнения любого ITEM любой вызывающей страницы, без изменения кода вызываемого модального диалога.
Я этого добился некоторым отступлением от декларативного описания и введением ОДНОГО вспомогательного ITEM.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298400
non-apexoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel, да, так. Только поменяйте местами п 4 и 5. 4 будет закрытие диалога, причем не крестиком диалога, а DA Close Dialog при выборе значения. 5 - срабатывание DA на закрытие. Код страницы - диалога многократно используемый. Преимущество - использование штатного функционала Apex. Минус - некоторая многословность.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298401
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Курдльblkangelпропущено...


Поясните
Поясняю.
Мы рассмотрели решение, когда клик на строке IR модального диалога вызывает заполнение конкретного ITEM 'PXXX_RETURN_NAME'.
Но хотелось бы добиться заполнения любого ITEM любой вызывающей страницы, без изменения кода вызываемого модального диалога.
Я этого добился некоторым отступлением от декларативного описания и введением ОДНОГО вспомогательного ITEM.

PXXX_RETURN_NAME - Это скрытый элемент модального окна
Значение его это PXXX_RETURN_NAME (ИД элемента родительского окна). Заполнение значения происходит при вызове модального окна, путем передачи параметра.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298403
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдль,
Кстати, если айтемсов не мнго, то это вполне допустимо. В терминах и концепции веб это обычная переменная для хранения values (значения).
Только допиши пункт 0 про шаблон Диалог появившийся в 5ке дополнительно к шаблону Popup в 4ке.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298404
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поправка
Значение его это PYYY_PARENT_ITEM_ID
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298407
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
non-apexoidblkangel, да, так. Только поменяйте местами п 4 и 5. 4 будет закрытие диалога, причем не крестиком диалога, а DA Close Dialog при выборе значения. 5 - срабатывание DA на закрытие. Код страницы - диалога многократно используемый. Преимущество - использование штатного функционала Apex. Минус - некоторая многословность.

Еще надо проверить передачу многострочных значений и спец символов, есть у меня сомнения по этому поводу.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298416
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelPXXX_RETURN_NAME - Это скрытый элемент модального окна
Значение его это PXXX_RETURN_NAME (ИД элемента родительского окна). Заполнение значения происходит при вызове модального окна, путем передачи параметра.
Вот теперь понял! И понял, почему $v

Для таких, как я, надо писать: "Делай раз..." :)
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298449
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Закругляемся?
Вариант1 - декларативный.
Для 5-ки окно с шаблонм Dialog. Для 4-ки с шаблоном Popup
Курдль1. Создаю ITEM P1_ID_SELECTED (скрытый)
2. Изменяю параметры ID-колонки репорта:
2.1
Код: html
1.
Column Attributes > Column Link > Link Attributes > onClick="$s('P1_ID_SELECTED',#EMPNO#);"



2.2
Код: html
1.
Column Attributes > Column Link > Target = URL



2.3
Код: html
1.
Column Attributes > Column Link > URL = #



3. Ставлю DA на изменение P1_ID_SELECTED
4. В этой DA прописываю TRUE ACTION:
Код: html
1.
2.
Action: Close Dialog
Items to Return: P1_ID_SELECTED




5. В вызывающей странице создаю DA:
Код: html
1.
Event: Close Dialog



True Action:
Код: html
1.
2.
3.
4.
Action: Set Value
Set Type: Dialog Return Item
Return Item: P1_ID_SELECTED
Affected elements: P99_ID
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298462
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

5. Event: Dialog Closed
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298468
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Как передать 2 параметра в вызывающую страницу?
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298471
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Курдльblkangel,

Как передать 2 параметра в вызывающую страницу?
Код: javascript
1.
Column Attributes > Column Link > Link Attributes > onClick="parent.$s($v('PXX1_RETURN_NAME'),#EMPNO#);parent.$s($v('PXX2_RETURN_NAME'),#EMPNAME#);apex.navigation.dialog.close('close');"
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298475
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Да, прежде чем лезть на форум, я опробовал такую конструкцию.
Результат:
Код: html
1.
 SyntaxError: missing ) after argument list
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298482
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант1 (Курдль) - декларативный.
Для 5-ки окно с шаблонм Dialog. Для 4-ки с шаблоном Popup
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
1. Создаю ITEM P1_ID_SELECTED (скрытый)
2. Изменяю параметры ID-колонки репорта:
2.1

Column Attributes > Column Link > Link Attributes > onClick="$s('P1_ID_SELECTED',#EMPNO#);"



2.2

Column Attributes > Column Link > Target = URL



2.3

Column Attributes > Column Link > URL = #



3. Ставлю DA на изменение P1_ID_SELECTED
4. В этой DA прописываю TRUE ACTION:

Action: Close Dialog
Items to Return: P1_ID_SELECTED




5. В вызывающей странице создаю DA:

Event: Dialog Closed (для 4-ки такого нет. См. варанты с JS кодом)



True Action:

Action: Set Value
Set Type: Dialog Return Item
Return Item: P1_ID_SELECTED
Affected elements: P99_ID
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298489
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Курдльblkangel,

Да, прежде чем лезть на форум, я опробовал такую конструкцию.
Результат:
Код: html
1.
 SyntaxError: missing ) after argument list


Скорее всего #EMPNO# или #EMPNAME# содержат пробелы, скобки, спец символы и т.д.
Код: javascript
1.
Column Attributes > Column Link > Link Attributes > onClick="parent.$s($v('PXX1_RETURN_NAME'),#EMPNO#);parent.$s($v('PXX2_RETURN_NAME'),\'#EMPNAME#\');apex.navigation.dialog.close('close');"



А вообще аппетит у вас растет, и двумя строчками наверное не ограничется, поэтому перенесите все в функцию. Числовые значение в скобки можно не брать.
Код: javascript
1.
Column Attributes > Column Link > Link Attributes > onClick="setAndClose(#EMPNO#,\'#EMPNAME#\')"


Это в хеадер страницы
Код: javascript
1.
2.
3.
4.
5.
function setAndClose (aItem1, aItem2) {
  parent.$s($v('PXX1_RETURN_NAME'),aItem1);
  parent.$s($v('PXX2_RETURN_NAME'),aItem2);
  apex.navigation.dialog.close('close');
};
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298492
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исправляюсь, делаю на бумажке все.
Код: javascript
1.
Column Attributes > Column Link > Link Attributes > onClick="parent.$s($v('PXX1_RETURN_NAME'),#EMPNO#);parent.$s($v('PXX2_RETURN_NAME'),'#EMPNAME#');apex.navigation.dialog.close('close');"


Код: javascript
1.
Column Attributes > Column Link > Link Attributes > onClick="setAndClose(#EMPNO#,'#EMPNAME#')"
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298500
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Да, вот это отлично, спасибо!
Аппетиты у меня не растут, а были изначально сообразны выбранному решению.
А именно: вызывающая форма после успешного выбора из "модельного селектора" должна показать пользователю ENAME, а для внутренней логики использовать EMPNO. Отсюда и 2 параметра.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298506
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Курдльblkangel,

Да, вот это отлично, спасибо!
Аппетиты у меня не растут, а были изначально сообразны выбранному решению.
А именно: вызывающая форма после успешного выбора из "модельного селектора" должна показать пользователю ENAME, а для внутренней логики использовать EMPNO. Отсюда и 2 параметра.
сам видишь, что тут очень сложно понять грань разумности.
Диалоги разные бывают. Есть карточка клиента, которая меняет 150 параметров при вызове в модальном режиме.
Поэтому всё таки правильнее в диалоге записать в БД, и сделать Refresh(перезапрос) именно того айтемса\региона который нужен.
Второй момент, что диалоговые окна меняются от версии к версии.
И вообще, это уже оффтоп.
Удачи!
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298532
Курдль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel
Код: javascript
1.
Column Attributes > Column Link > Link Attributes > onClick="setAndClose(#EMPNO#,'#EMPNAME#')"



Да, аппетиты растут, извиняюсь! :)
Но для феерического завершения этой ветки, хотелось бы понять, можно ли переиспользовать функцию setAndClose для "транзитной" передачи параметров из вложенной модальной формы "Создать ..."?
Просто установка DA типа "Исполнить JS": setAndClose(PZZZ_EMPNO,'PZZZ_EMPNAME') приводит к ошибке браузера "переменная PZZZ_EMPNO не определена".
Прецедент: когда в модальном селекторе не нашлось требуемой записи и её необходимо создать в новом модальном диалоге 2-го уровня.
...
Рейтинг: 0 / 0
Модальный диалог выбора
    #39298538
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Курдльblkangel
Код: javascript
1.
Column Attributes > Column Link > Link Attributes > onClick="setAndClose(#EMPNO#,'#EMPNAME#')"



Да, аппетиты растут, извиняюсь! :)
Но для феерического завершения этой ветки, хотелось бы понять, можно ли переиспользовать функцию setAndClose для "транзитной" передачи параметров из вложенной модальной формы "Создать ..."?
Просто установка DA типа "Исполнить JS": setAndClose(PZZZ_EMPNO,'PZZZ_EMPNAME') приводит к ошибке браузера "переменная PZZZ_EMPNO не определена".
Прецедент: когда в модальном селекторе не нашлось требуемой записи и её необходимо создать в новом модальном диалоге 2-го уровня.

Не пробовал, думаю да, сколько вложений, столько и приставок parent
Код: javascript
1.
parent.parent.parent.parent  и т.д.
...
Рейтинг: 0 / 0
25 сообщений из 111, страница 3 из 5
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Модальный диалог выбора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]