powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Просмотр Master-detail таблиц на одной странице
75 сообщений из 75, показаны все 3 страниц
Просмотр Master-detail таблиц на одной странице
    #38137979
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, как лучше сделать, я пока ничего путного придумать не могу.
Есть две таблицы, связанные по одному полю. Допустим, список отделов и список сотрудников. Я хочу нечто приближенное к такому варианту:
1. На странице два региона (типа Report, например). Первый регион - список отделов, второй - список сотрудников.
2. Пользователь может выбрать один из отделов (любым способом), во втором регионе должен появиться список сотрудников данного отдела.

Ограничения по способам реализации - миимальные (пока). Любая фантазия приветствуется. Максимум, что я пока смог придумать - в первом регионе сделать Column Link на ту же страницу, а в линке параметрами передавать значения для Hidden Item, по значению которого будет фильтроваться отчет во втором регионе.
Какие еще есть варианты?

P. S. А с помощью ajax можно сделать обновление отчета в регионе?
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #38138271
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rockclimber, совсем недавно в очередной раз делал пример подобного, пишу по памяти варианты: 0. Вариант "Всё на одной странице". Очень простой. Что нужно: - поле Hidden, при загрузке страницы всегда устанавливается в NULL; - два отчёта на одной странице; - второй отчёт с PPR (Partial Page Refresh) или интерактивный, запрос зависит от поля Hidden, оно же прописано в Page Items to Submit; - в отчёте Master есть столбец с ID; - у этого столбца должно быть что-то, что позволит добраться до него селектором jQuery. Оформление в Column Formatting, Column Class etc; - на отчёт Master навешивается DA. На клик по строке или по столбцу выполняются следующие действия:
  • SetValue -- значение столбца с ID из строки, по которой кликнули переносится в спрятанное поле;
  • Refresh -- обновляем регион с отчётом Detail; Show -- опционально, при загрузке страницы скрывать пустой отчёт Detail стилем CSS, при выборе строки из отчёта Master показывать Detail; AddClass или SetStyle -- опционально, можно выделить выбранную строку стилем. Тогда надо не забывать убрать этот стиль у остальных строк.
Можно создать шаблон отчёта Master, в котором всегда использовать первый столбец как ID, таким образом перенеся ID в атрибуты всей строки. Там же можно написать общий JS-код для выделения строки. Минусы подхода: два интерактивных отчёта использовать не получится. 1. Вариант посложнее "Master на одной странице, Detail на другой": - две страницы, на одной отчёт Master и регион с IFRAME, на другой простой шаблон страницы без ничего и отчёт Detail; - та же канитель из варианта 0 со скрытым полем и DA, но DA теперь обновляет содержимое фрейма в действии Execute JavaScript Code. Значение скрытого поля можно передавать через ссылку в SRC фрейма или предварительно сабмитить через действие Execute PL/SQL Code. PS: Я предпочитаю вообще не делать Master-Detail, хватает Drill down.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #38138282
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, всё выше написанное подразумевает обновление отчётов Detail без перезагрузки всей страницы. С перезагрузкой всё банально: перенести значение в скрытое поле, которое фильтрует запрос в Detail; сабмит; бранч на эту же страницу.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Просмотр Master-detail таблиц на одной странице
    #39054144
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
suPPLerrockclimber,
SetValue -- значение столбца с ID из строки, по которой кликнули переносится в спрятанное поле;


Подскажите, пожалуйста, как это вытащить?

Имеется ,соответственно, Interactive Report, в нем поле ID, а также hidden Page Item, куда нужно значение этого поля положить, видимо, по событию Click в Dynamic Action
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054151
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще один нюанс, в свойствах Attributes интерактивного отчета уже стоит link to custom target другой страницы с передачей ей туда нужного айдишника
Просто очень много примером в интернетах, где указан именно этот способ, типа выберите там вместо link to custom target URL и будет вам счастье
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054273
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
нужно знать JS.
Если не знаете чем не устроило с обновлением страницы. Задержка 1-2 сек, кода никакого. Техподдржка бьёт балду, т.к. ошибок нет.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054277
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZekeЕсть еще один нюанс, в свойствах Attributes интерактивного отчета уже стоит link to custom target другой страницы с передачей ей туда нужного айдишника
Просто очень много примером в интернетах, где указан именно этот способ, типа выберите там вместо link to custom target URL и будет вам счастье
именно. Без причины не делайте из веб-дельфи.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054305
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Zeke,
нужно знать JS.
Если не знаете чем не устроило с обновлением страницы. Задержка 1-2 сек, кода никакого. Техподдржка бьёт балду, т.к. ошибок нет.

C JS не очень, поэтому и просил помочь
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054353
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZekeC JS не очень, поэтому и просил помочь
работать как рекомендует Оракл (волшебники в Создать-Форма-Мастер) намного интереснее. Поверь.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054355
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Я так и делал изначально. Но wizard создает две страницы и помещает detail таблицу на вторую страницу и делает ее в виде tabular form, а мне нужен тупо просмотр на первой. Поэтому пришлось руками создавать detail регион на первой же, в который я хочу передать id из мастера.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054365
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
дак просмотр или редактирование?
Если 2, то у меня тоже так. И я не парюсь.
Если 1, то вместо табуляр можно обычный IR\любой репорт + перезагрузка или рефрешь этого детайль репорта.
Выше в мастере при клике в колонке передать на сервер ID для фильтрации запроса для детайль таблички.
....
Ещё в мастере вроде было галка типа создать на этой же страничке...Не было?
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054408
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Wizard в Apex 5 при создании master detail создает две страницы, первую - просмотр мастер таблицы, вторая страницы - табулярные формы и для мастера , и для дитэйла. По-другому не хотит :( Я только что проверил это

У меня щас тоже так и есть, что типа на первой странице мастер, а на второй - редактирование мастера и дитэйла

Но мне нужно , чтобы на первой странице еще и просто дитэйл показывался под мастером, без редактирования.

Я делаю все, как гуру и завещали делать.

Соответственно я положил еще один регион типа classic report на первую страницу и хочу, чтобы он обновлялся каждый раз в зависимости от текущего родителя. Классический мастер-дитэйл.

Я создал два dynamic action.

Первый event -> click, selection type -> region, region -> имя интерактивного мастер репорта
и вот именно в нем я хочу в специально приготовленный hidden page item засунуть текущий id из мастер таблицы. Но никак не получается это сделать :( В этом и вся загвоздка

Второй dynamic action, соответственно, тупо рефрешит дочернюю таблицу и все.

В интернетах многие решения сводятся к тому, что типа укажи в атрибутах мастер репорта в свойстве link column тип URL и туда засунуть java код, который и будет моему page item'у присваивать текущий idшник. Но я не могу так сделать, у меня там стоит переход на вторую страницу, где уже редактирование этих отчетов происходит.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054596
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
Уже писал imho что это запутает пользователя, т.к в мамтере нет текущей выделенной строки как понятия.
Я бы сделал детайль информацию в виде всплывающего окна при движении мыши по стрлкам либо доп . колонкой.
Удачи!
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054670
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

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

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

Нижний репорт обновляется от выбранного значения верхнего?
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054760
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую вам декларативно описать как это сделать, почти без JS.
1. В первоми репорте, в столбце и ИД строки прописывается класс, название класс произвольное, пусть будет
Код: plaintext
my_class
.
2. В этом же столбце прописать атрибут onclick="return false"
3. Создаем DA, событие onClick, jQuery selector -
Код: plaintext
.my_class
4. Действие Javascript expression - $x("MY_HIDDEN_ITEM")=this.triggeringElement.value;
5. Далее можно рефрешнуть регион следующим действием с помощью ДА, либо в JS следующей строчкой $('#MY_SECOND_REPORT').trigger('apexrefresh');

P.S.
1. У второго региона должна быть разрешена Enable Partial Page Refresh
2. Под запросом в строчке Page Items to Submit должен быть прописан скрытый элемент MY_HIDDEN_ITEM
3. Во втором запросе должен в условии должен содержаться скрытый эелемент select * from table where id=:MY_HIDDEN_ITEM;
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054776
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelZeke,

Нижний репорт обновляется от выбранного значения верхнего?

да! именно так
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054783
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelПопробую вам декларативно описать как это сделать, почти без JS.
1. В первоми репорте, в столбце и ИД строки прописывается класс, название класс произвольное, пусть будет
Код: plaintext
my_class
.
2. В этом же столбце прописать атрибут onclick="return false"
3. Создаем DA, событие onClick, jQuery selector -
Код: plaintext
.my_class
4. Действие Javascript expression - $x("MY_HIDDEN_ITEM")=this.triggeringElement.value;
5. Далее можно рефрешнуть регион следующим действием с помощью ДА, либо в JS следующей строчкой $('#MY_SECOND_REPORT').trigger('apexrefresh');

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

Спасибо вам за совет! я примерно так и делал вначале, все вокруг да около ходил. Щас буду пробовать
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054791
non-apexoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke, вот
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054800
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,
Ошибочку увидел
$x("MY_HIDDEN_ITEM").value=this.triggeringElement.value;
а лучше так
$s("MY_HIDDEN_ITEM",this.triggeringElement.value);
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054826
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
non-apexoidZeke, вот

Да, вот прям так мне и надо! Но не могу скачать плагин на работе :(
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054829
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangelПопробую вам декларативно описать как это сделать, почти без JS.
1. В первоми репорте, в столбце и ИД строки прописывается класс, название класс произвольное, пусть будет
Код: plaintext
my_class
.
2. В этом же столбце прописать атрибут onclick="return false"


подскажите пжл , вот так нужно описать класс в HTML Expression у столбца?

<span class = "my_class" onclick="return false">#ID#</span>

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

HTML expression обязательно использовать?
Я не уверен что при таком способе данная схема сработает, надо проверять.
Для указания класса есть Element CSS Classes.
Но если все-таки необходимо конструктор использовать то вот так лучше попробовать
<a href="#" class="my_class" onclick="return false">#ID#</a>
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39054847
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel,

Абсолютно не обязательно. Но я посмотрел - у региона в свойстве CSS Classes можно только какой-то готовый выбрать из выпадайки. Его, видимо, нужно где-то в другом месте прописывать, чтобы воспользоваться им.
...
Рейтинг: 0 / 0
Просмотр 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
Просмотр Master-detail таблиц на одной странице
    #39090456
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заметил одну важную проблему. Все, что было написано выше, работает только для самой первой страницы интерактивного отчета, и то если перед этим не было переходов на другие страницы. Если перейти на следующую или любую другую страницу, то этот функционал не работает :(
Есть какие-нибудь мысли?
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090470
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZekeЕсть какие-нибудь мысли?
скрин выложи. Надо взглянуть, как ты из веба десктоп делаешь.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090472
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

а скрин чего именно? я все сделал по шагам, которые выше расписаны
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090474
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZekePetro123,
а скрин чего именно? я все сделал по шагам, которые выше расписаны
как чего?
Например, в десктопе видно текущую выделенную строку в мастере.
Или работает клава при переходе по мастеру.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090475
heavyside
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,

Скорее всего у вас в пункте 4
Zeke4. Создал 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
надо чтобы привязка выполнялась и после обновления отчёта. Там была переключалка с выполнением once/bind/live. Т.е. привязка происходит при загрузке страницы, а при обновлении отчёта появляются новые строки и привязки к ним события уже нет.
Вам надо live. Нет 4-го апекса, не могу точно назвать. На 5-м стали использовать .on из Jquery, поэтому там Event Scope - Static/Dynamic/Once

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

Я выбрал в свойстве Event Scope -> Dynamic. Теперь работает на всех страницах, да, но с запозданием на одну запись. То есть я жму на текущую запись, а detail отчет отображается для предыдущей записи, которую я нажимал перед этим
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090492
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ZekePetro123,
а скрин чего именно? я все сделал по шагам, которые выше расписаны
как чего?
Например, в десктопе видно текущую выделенную строку в мастере.
Или работает клава при переходе по мастеру.
чувствую себя умственно-отсталым. Я все равно не понял :(
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090496
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
Console.info ставь и отлаживай. Че гадать.
Чуть канал будет слабже и у тебя рефрешь может раньше пойти присвоения.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090514
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZekePetro123пропущено...

как чего?
Например, в десктопе видно текущую выделенную строку в мастере.
Или работает клава при переходе по мастеру.
чувствую себя умственно-отсталым. Я все равно не понял :(
))))
У меня намедни заказчик сказал что хочет мастер деталь с сохранением одной кнопкой. Вот тоже думаю, теперь выкинуть код apex dml и делать на коллекциях руками или сказать заказчику что он перебарщивает).
Неустойчиво будет работать эта твоя задумка. Вот что.
IMHO
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090515
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Теперь понял :)
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090521
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
По дизайну. Если у тебя пагинация то ты половину места же сжираешь когда 2 таблы на одной?
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090543
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Zeke,
По дизайну. Если у тебя пагинация то ты половину места же сжираешь когда 2 таблы на одной?
у меня detail таблицы маленькие, отображаются под главной, поэтому я не парюсь
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090564
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
рядом тема не подходит для тебя что-ли?
Всё же решается в APEX похожим образом.
- в колонке пишем javascript:MyClick('#ID#'); или запись $s(
- на onChange ITEMS пишем savesession + refresh
в чём проблема то?
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090738
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zeke,

автор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

А попробуйте чуть чуть изменить пункт 4
Action ->Set Value
Set Type: $(this.triggeringElement).html()
Item: "P_INSIDER_ID"


Event Scope по идее не должен влиять, Static должно быть достаточно.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39090750
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
blkangel,

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

автор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

А попробуйте чуть чуть изменить пункт 4
Action ->Set Value
Set Type: $(this.triggeringElement).html()
Item: "P_INSIDER_ID"


Event Scope по идее не должен влиять, Static должно быть достаточно.

Прошу прощения, что так долго не писал.
Я проделал все вышеописанное, но результат остался таким же. Если еще Dynamic поставить, то появляется запаздывание на одну запись. Но я заметил, что если все оставить без изменений и при переходе на следующую порцию записей (у меня по 20 штук выводится на страницу), если обновить страницу целиком (в Хроме, например), то все работает без проблем. Может нужно еще где-то свойство какое-нибудь поменять?
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39105644
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
18346357
Откройте видимость поля-фильтра и проверяйте в каком месте запаздывает.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39105664
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Сделал его видимым.

В итоге на самой первой странице все работает идеально, поле меняется после каждого клика.
Перехожу на следующую группу записей и кликаю по записям, в итоге значение в поле неизменно и обновления detail записей тоже не происходит
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39105710
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zekeв итоге значение в поле неизменно
это главное. Детайль вторична.
Копай....смотри структуру HTML в firebug
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39105725
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
функцию OnClick сформируй прямо в запросе, чтобы там железобетонно в строке был мояФункцияClick(123);
123 - ID_Parent
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39105735
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

в запросе, который основные данные отображает для interactive report? можно пример для особо одаренных?
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39105800
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
мммммм.... надо подумать.
HTML Expression - типа этого только для подсветки цветом...
Код: sql
1.
<span style="color:#THE_COLOR#;font-weight:bold;">#SAL#</span>


#SAL# - колонка с твоим текстом
ЗЫ.
Что вставить спрошай на форуме JS.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39105803
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
второй вариант - LINK в колонке на JS, но наверно тебя это не устроит.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39105805
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zeke,
вообще, задача - вывести в alert(this) или значение колонки из данной строки.
А потом уже всё остальное.
Чтобы не мешать проблему APEX пагинации и HTML.
...
Рейтинг: 0 / 0
Просмотр Master-detail таблиц на одной странице
    #39111858
Zeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подведя итог, хочу сказать, что действительно достаточно было у Dynamic Action изменить свойство Event Scope -> Dynamic и все заработало. Не понятно только, почему это не сработало в самый первый раз.

Спасибо всем, кто откликнулся на мои страдания :)

З.Ы. Dynamic Action можно было создать всего один и в него на событие TRUE натолкать несколько разных действий (в данном случае выполнение javascript кода и обновление региона)
...
Рейтинг: 0 / 0
75 сообщений из 75, показаны все 3 страниц
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Просмотр Master-detail таблиц на одной странице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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