powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Просмотр Master-detail таблиц на одной странице
25 сообщений из 75, страница 2 из 3
Просмотр Master-detail таблиц на одной странице
    #39054853
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,

Вам не нужен класс региона, а именно класс элемента.
То что выбирать надо, видимо это уже фишка пятого апекса.
На самом деле не обязательно класс использовать, можно использовать произвольный атрибут, его то прописать можно?
например my_attribue="ID_COLUMN"

Тогда в ДА в селекторе, надо прописать так [my_attribue="ID_COLUMN"]
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054871
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последовательность действий:

1. Создал hidden page item P_INSIDER_ID
2. У мастер запроса в page items to submit указал этот P_INSIDER_ID
3. У поля ID в мастер запросе написал в свойстве HTML Expression вот это <a href="#" class="my_class" onclick="return false">#ID#</a>
4. Создал Dynamic Action Event -> Click, Selection Type -> JQuery Selector, JQuery Selector -> .my_class
в событии True Action -> Execute Java Script Code и вот такой код $s("P_INSIDER_ID",this.triggeringElement.value);
5. второй Dynamic Action тупо обновляет detail регион

P.S.
1. У второго региона должна быть разрешена Enable Partial Page Refresh - есть
2 Во втором запросе должен в условии должен содержаться скрытый элемент select * from table where id=:P_INSIDER_ID; - есть

В итоге не работает пока это. Печалька :(
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054928
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,
Ну давай отлаживать
В пункт 4 после строчки $s("P_INSIDER_ID",this.triggeringElement.value);
добавь
alert("id="+this.triggeringElement.value);
Результат сюда
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054948
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,
И еще сразу так.
alert($(this.triggeringElement).html());
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054956
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Пишет :

id=undefined
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054970
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelZeke,
И еще сразу так.
alert($(this.triggeringElement).html());

в итоге вот эти строки:

$s("P_INSIDER_ID",this.triggeringElement.value);
alert("id="+this.triggeringElement.value);
alert($(this.triggeringElement).html());


как только открывается окно с master detail, то он в цикле показывает окошки сначала

id=undefined

а потом окно со значением id , то есть 7355, например
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054980
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,

Отлично
Значит делаем
$s("P_INSIDER_ID",$(this.triggeringElement).html())
Алерты убери
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054984
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel,

И кстати, в действии убери галочку Fire On Page Load. Чтобы при загрузки страницы не срабатовало.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055014
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Галочку снял, в итоге цикл исчез, да

Но вот алерты показывают, что ничего не присвоилось айтему P_INSIDER_ID

$s("P_INSIDER_ID",$(this.triggeringElement).html());
alert("id="+this.triggeringElement.value);
alert($("P_INSIDER_ID").html());
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055017
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zekeblkangel,

Галочку снял, в итоге цикл исчез, да

Но вот алерты показывают, что ничего не присвоилось айтему P_INSIDER_ID

$s("P_INSIDER_ID",$(this.triggeringElement).html());
alert("id="+this.triggeringElement.value);
alert($("P_INSIDER_ID").html());

Алерты неправильные у тебя. Ну хоть чуть чуть JS изучите :)
alert("id="+this.triggeringElement.html());
alert($v("P_INSIDER_ID"));[/quot]
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055044
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

да, прошу прощения. Облажался

в итоге алерт действительно показывает текущее значение P_INSIDER_ID

но теперь не обновляется детэйл регион :( Может быть туда некорректно передается этот P_INSIDER_ID или он сбрасывается в какой-то момент?

у DA стоит просто refresh этого второго региона региона при событии click на первом

у DA последовательность выполнения задается через Sequence?
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055053
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,

Открывай консоль в браузере, В хроме это правая кнопка "Просмотр кода элемента" вкладка консоль.

Дальше в консоле правая кнопка XMLHttpRequest (Нам нужно увидеть уходит ли запрос на сервер) и дальше кликай по ссылкам.

Еще один момент, во втором регионе, пропиши ему REGION_ID, в этом может быть еще проблема
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055106
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

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

я нажимаю на строку в мастер отчете и в консоли появляется строка вида

XHR finished loading: POST

если ее развернуть, то видно вот это

k.cors.a.crossDomain.send @ jquery-2.1.3.min.js:4
n.extend.ajax @ jquery-2.1.3.min.js:4
_call @ desktop.min.js:9
server.widget @ desktop.min.js:9
_refresh @ widget.report.min.js:1
report.reset @ widget.report.min.js:1
(anonymous function) @ widget.report.min.js:1
n.event.dispatch @ jquery-2.1.3.min.js:3
r.handle @ jquery-2.1.3.min.js:3
n.event.trigger @ jquery-2.1.3.min.js:3
(anonymous function) @ jquery-2.1.3.min.js:3
n.extend.each @ jquery-2.1.3.min.js:2
n.fn.n.each @ jquery-2.1.3.min.js:2
n.fn.extend.trigger @ jquery-2.1.3.min.js:3
da.refresh @ desktop.min.js:18
da.doAction @ desktop.min.js:17
da.doActions @ desktop.min.js:17
(anonymous function) @ desktop.min.js:17
n.extend.each @ jquery-2.1.3.min.js:2
n.fn.n.each @ jquery-2.1.3.min.js:2
da.actions @ desktop.min.js:17
(anonymous function) @ desktop.min.js:17
n.event.dispatch @ jquery-2.1.3.min.js:3
r.handle @ jquery-2.1.3.min.js:3
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055109
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelZeke,

Еще один момент, во втором регионе, пропиши ему REGION_ID, в этом может быть еще проблема

Может STATIC ID ?
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055117
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,

Отлично, запрос уходит на сервер. Осталось совсем чуть чуть.

XHR finished loading: POST а далее ссылочка http://your_host/apex/wwv_flow.show".
Кликаете на нее, Вас перекинет на вкладку Network. Появится табличка, кликаете на тексте wwv_flow.show.
Справа появится окошечко с вкладками (Headers, Preview, Response ...) Интересует вкладка Headers. Листаем вниз до блока "From data" В этом блоке перечислены параметры, которые уходят на сервер, стандартные p_request, p_instance, p_flow_id, p_flow_step_id.
И далее должен быть Ваш параметр P_INSIDER_ID и его значение.
Если все есть, то мы сделали все правильно.
Если нет проверяем пункт 2. У мастер запроса в page items to submit указал этот P_INSIDER_ID
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055119
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZekeblkangelZeke,

Еще один момент, во втором регионе, пропиши ему REGION_ID, в этом может быть еще проблема

Может STATIC ID ?
Да, именно он.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055141
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelZeke,

Отлично, запрос уходит на сервер. Осталось совсем чуть чуть.

XHR finished loading: POST а далее ссылочка http://your_host/apex/wwv_flow.show".
Кликаете на нее, Вас перекинет на вкладку Network. Появится табличка, кликаете на тексте wwv_flow.show.
Справа появится окошечко с вкладками (Headers, Preview, Response ...) Интересует вкладка Headers. Листаем вниз до блока "From data" В этом блоке перечислены параметры, которые уходят на сервер, стандартные p_request, p_instance, p_flow_id, p_flow_step_id.
И далее должен быть Ваш параметр P_INSIDER_ID и его значение.
Если все есть, то мы сделали все правильно.
Если нет проверяем пункт 2. У мастер запроса в page items to submit указал этот P_INSIDER_ID

Среди этих параметров P_INSIDER_ID нет :(

Но у мастер запроса действительно указан Page Items to Submit -> P_INSIDER_ID

и у детэйл я указал static id тоже (CLIENTS)
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055149
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,

Стоп, Page Items to Submit -> P_INSIDER_ID должен быть указан у региона номер 2, который должен обновлятся
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055153
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelZeke,

Стоп, Page Items to Submit -> P_INSIDER_ID должен быть указан у региона номер 2, который должен обновлятся

Алиллуйя, братья и сестры! Все заработало!!!!! Вы святой человек, blkangel
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055160
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,

Я думаю стоит повторить задачу, и ее решение.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055167
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, пока я тут мытарился с этим всем, то нашел еще один способ обновить этот детайл. Для этого нужно в поле ID мастер таблицы в свойстве HTML Expression прописать вот этот код:

<a href="f?p=&APP_ID.:&APP_PAGE_ID.:&SESSION.::::P_INSIDER_ID:#ID#">#ID#</a>

и тогда можно вообще без всяких Dynamic Action и java классов обойтись. Но единственный минус этого - обновляется вся страница каждый раз, ну это и логично.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055175
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelZeke,

Я думаю стоит повторить задачу, и ее решение.

я надеюсь, мои страдания помогут кому-нибудь :) тут уже наверно детальный мануал расписан, как это делать
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055430
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,
Выложи последним постом, чтобы не ходить по всем постам и не собирать это воедино.
1. Задача
2. Решение пошагово.

И закроем тему :)
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39055483
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача - создать master-detail report на одной странице, чтобы при нажатии на master отчете обновлялся detail отчет без submit page

1. Создал hidden page item P_INSIDER_ID
2. У detail запроса в page items to submit указал этот P_INSIDER_ID
3. У поля ID в мастер запросе написал в свойстве HTML Expression вот это: <a href="#" class="my_class" onclick="return false">#ID#</a>
4. Создал Dynamic Action: Event -> Click, Selection Type -> JQuery Selector, JQuery Selector -> .my_class
в событии True: Action -> Execute Java Script Code и вот такой код $s("P_INSIDER_ID",$(this.triggeringElement).html());
свойство Fire On Page Load -> NO
5. второй Dynamic Action тупо обновляет detail регион: Event -> Click, Selection Type -> Region, Region -> имя master региона
в событии True: Action-> Refresh, Selection Type -> Region, Region -> имя detail региона

P.S.
1. У второго региона должна быть разрешена Enable Partial Page Refresh
2 В detail запросе в условии должен содержаться hidden page item: select * from table where id = :P_INSIDER_ID;
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39061373
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку добавлю еще. При удалении записи из master таблицы может появиться ошибка:

Session state protection violation: This may be caused by manual alteration of protected page item hidden page item name. If you are unsure what caused this error, please contact the application administrator for assistance.

Тогда у скрытого элемента нужно свойство Value Protected сделать No
...
Рейтинг: 0 / 0
25 сообщений из 75, страница 2 из 3
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Просмотр Master-detail таблиц на одной странице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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