|
|
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Подскажите, как лучше сделать, я пока ничего путного придумать не могу. Есть две таблицы, связанные по одному полю. Допустим, список отделов и список сотрудников. Я хочу нечто приближенное к такому варианту: 1. На странице два региона (типа Report, например). Первый регион - список отделов, второй - список сотрудников. 2. Пользователь может выбрать один из отделов (любым способом), во втором регионе должен появиться список сотрудников данного отдела. Ограничения по способам реализации - миимальные (пока). Любая фантазия приветствуется. Максимум, что я пока смог придумать - в первом регионе сделать Column Link на ту же страницу, а в линке параметрами передавать значения для Hidden Item, по значению которого будет фильтроваться отчет во втором регионе. Какие еще есть варианты? P. S. А с помощью ajax можно сделать обновление отчета в регионе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 14:14 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
rockclimber,
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 16:18 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Да, всё выше написанное подразумевает обновление отчётов Detail без перезагрузки всей страницы. С перезагрузкой всё банально: перенести значение в скрытое поле, которое фильтрует запрос в Detail; сабмит; бранч на эту же страницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 16:21 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
suPPLerrockclimber, SetValue -- значение столбца с ID из строки, по которой кликнули переносится в спрятанное поле; Подскажите, пожалуйста, как это вытащить? Имеется ,соответственно, Interactive Report, в нем поле ID, а также hidden Page Item, куда нужно значение этого поля положить, видимо, по событию Click в Dynamic Action ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 16:29 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Есть еще один нюанс, в свойствах Attributes интерактивного отчета уже стоит link to custom target другой страницы с передачей ей туда нужного айдишника Просто очень много примером в интернетах, где указан именно этот способ, типа выберите там вместо link to custom target URL и будет вам счастье ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 16:35 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, нужно знать JS. Если не знаете чем не устроило с обновлением страницы. Задержка 1-2 сек, кода никакого. Техподдржка бьёт балду, т.к. ошибок нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:01 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
ZekeЕсть еще один нюанс, в свойствах Attributes интерактивного отчета уже стоит link to custom target другой страницы с передачей ей туда нужного айдишника Просто очень много примером в интернетах, где указан именно этот способ, типа выберите там вместо link to custom target URL и будет вам счастье именно. Без причины не делайте из веб-дельфи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:03 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Petro123Zeke, нужно знать JS. Если не знаете чем не устроило с обновлением страницы. Задержка 1-2 сек, кода никакого. Техподдржка бьёт балду, т.к. ошибок нет. C JS не очень, поэтому и просил помочь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 18:23 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
ZekeC JS не очень, поэтому и просил помочь работать как рекомендует Оракл (волшебники в Создать-Форма-Мастер) намного интереснее. Поверь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 19:20 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Petro123, Я так и делал изначально. Но wizard создает две страницы и помещает detail таблицу на вторую страницу и делает ее в виде tabular form, а мне нужен тупо просмотр на первой. Поэтому пришлось руками создавать detail регион на первой же, в который я хочу передать id из мастера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 19:26 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, дак просмотр или редактирование? Если 2, то у меня тоже так. И я не парюсь. Если 1, то вместо табуляр можно обычный IR\любой репорт + перезагрузка или рефрешь этого детайль репорта. Выше в мастере при клике в колонке передать на сервер ID для фильтрации запроса для детайль таблички. .... Ещё в мастере вроде было галка типа создать на этой же страничке...Не было? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 19:43 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
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шник. Но я не могу так сделать, у меня там стоит переход на вторую страницу, где уже редактирование этих отчетов происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 20:23 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Уже писал imho что это запутает пользователя, т.к в мамтере нет текущей выделенной строки как понятия. Я бы сделал детайль информацию в виде всплывающего окна при движении мыши по стрлкам либо доп . колонкой. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 03:52 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Petro123, Пользователь сам такое желание изъявил, в том то и дело. Иначе бы я не парился над этим уаще :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 09:10 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Своими словами, какая задача? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 10:13 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Нижний репорт обновляется от выбранного значения верхнего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 10:14 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Попробую вам декларативно описать как это сделать, почти без JS. 1. В первоми репорте, в столбце и ИД строки прописывается класс, название класс произвольное, пусть будет Код: plaintext 2. В этом же столбце прописать атрибут onclick="return false" 3. Создаем DA, событие onClick, jQuery selector - Код: plaintext 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; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 10:32 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangelZeke, Нижний репорт обновляется от выбранного значения верхнего? да! именно так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 10:41 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangelПопробую вам декларативно описать как это сделать, почти без JS. 1. В первоми репорте, в столбце и ИД строки прописывается класс, название класс произвольное, пусть будет Код: plaintext 2. В этом же столбце прописать атрибут onclick="return false" 3. Создаем DA, событие onClick, jQuery selector - Код: plaintext 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; Спасибо вам за совет! я примерно так и делал вначале, все вокруг да около ходил. Щас буду пробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 10:44 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, вот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 10:51 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Ошибочку увидел $x("MY_HIDDEN_ITEM").value=this.triggeringElement.value; а лучше так $s("MY_HIDDEN_ITEM",this.triggeringElement.value); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 11:00 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 11:29 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangelПопробую вам декларативно описать как это сделать, почти без JS. 1. В первоми репорте, в столбце и ИД строки прописывается класс, название класс произвольное, пусть будет Код: plaintext 2. В этом же столбце прописать атрибут onclick="return false" подскажите пжл , вот так нужно описать класс в HTML Expression у столбца? <span class = "my_class" onclick="return false">#ID#</span> тег span взят просто так, может вместо него другой какой-то должен стоять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 11:32 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, HTML expression обязательно использовать? Я не уверен что при таком способе данная схема сработает, надо проверять. Для указания класса есть Element CSS Classes. Но если все-таки необходимо конструктор использовать то вот так лучше попробовать <a href="#" class="my_class" onclick="return false">#ID#</a> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 11:38 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangel, Абсолютно не обязательно. Но я посмотрел - у региона в свойстве CSS Classes можно только какой-то готовый выбрать из выпадайки. Его, видимо, нужно где-то в другом месте прописывать, чтобы воспользоваться им. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 11:51 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Вам не нужен класс региона, а именно класс элемента. То что выбирать надо, видимо это уже фишка пятого апекса. На самом деле не обязательно класс использовать, можно использовать произвольный атрибут, его то прописать можно? например my_attribue="ID_COLUMN" Тогда в ДА в селекторе, надо прописать так [my_attribue="ID_COLUMN"] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 11:55 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Последовательность действий: 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; - есть В итоге не работает пока это. Печалька :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 12:09 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Ну давай отлаживать В пункт 4 после строчки $s("P_INSIDER_ID",this.triggeringElement.value); добавь alert("id="+this.triggeringElement.value); Результат сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 12:39 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, И еще сразу так. alert($(this.triggeringElement).html()); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 12:44 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangel, Пишет : id=undefined ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 12:49 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
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, например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 12:52 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Отлично Значит делаем $s("P_INSIDER_ID",$(this.triggeringElement).html()) Алерты убери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 12:54 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangel, И кстати, в действии убери галочку Fire On Page Load. Чтобы при загрузки страницы не срабатовало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 12:57 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangel, Галочку снял, в итоге цикл исчез, да Но вот алерты показывают, что ничего не присвоилось айтему P_INSIDER_ID $s("P_INSIDER_ID",$(this.triggeringElement).html()); alert("id="+this.triggeringElement.value); alert($("P_INSIDER_ID").html()); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 13:09 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
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] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 13:11 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangel, да, прошу прощения. Облажался в итоге алерт действительно показывает текущее значение P_INSIDER_ID но теперь не обновляется детэйл регион :( Может быть туда некорректно передается этот P_INSIDER_ID или он сбрасывается в какой-то момент? у DA стоит просто refresh этого второго региона региона при событии click на первом у DA последовательность выполнения задается через Sequence? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 13:31 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Открывай консоль в браузере, В хроме это правая кнопка "Просмотр кода элемента" вкладка консоль. Дальше в консоле правая кнопка XMLHttpRequest (Нам нужно увидеть уходит ли запрос на сервер) и дальше кликай по ссылкам. Еще один момент, во втором регионе, пропиши ему REGION_ID, в этом может быть еще проблема ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 13:36 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:10 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangelZeke, Еще один момент, во втором регионе, пропиши ему REGION_ID, в этом может быть еще проблема Может STATIC ID ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:14 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:19 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
ZekeblkangelZeke, Еще один момент, во втором регионе, пропиши ему REGION_ID, в этом может быть еще проблема Может STATIC ID ? Да, именно он. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:19 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
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) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:32 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Стоп, Page Items to Submit -> P_INSIDER_ID должен быть указан у региона номер 2, который должен обновлятся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:34 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangelZeke, Стоп, Page Items to Submit -> P_INSIDER_ID должен быть указан у региона номер 2, который должен обновлятся Алиллуйя, братья и сестры! Все заработало!!!!! Вы святой человек, blkangel ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:38 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Я думаю стоит повторить задачу, и ее решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:41 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
кстати, пока я тут мытарился с этим всем, то нашел еще один способ обновить этот детайл. Для этого нужно в поле ID мастер таблицы в свойстве HTML Expression прописать вот этот код: <a href="f?p=&APP_ID.:&APP_PAGE_ID.:&SESSION.::::P_INSIDER_ID:#ID#">#ID#</a> и тогда можно вообще без всяких Dynamic Action и java классов обойтись. Но единственный минус этого - обновляется вся страница каждый раз, ну это и логично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:44 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangelZeke, Я думаю стоит повторить задачу, и ее решение. я надеюсь, мои страдания помогут кому-нибудь :) тут уже наверно детальный мануал расписан, как это делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 14:47 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Выложи последним постом, чтобы не ходить по всем постам и не собирать это воедино. 1. Задача 2. Решение пошагово. И закроем тему :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 16:54 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Задача - создать 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; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2015, 17:22 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
В догонку добавлю еще. При удалении записи из 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2015, 14:58 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Заметил одну важную проблему. Все, что было написано выше, работает только для самой первой страницы интерактивного отчета, и то если перед этим не было переходов на другие страницы. Если перейти на следующую или любую другую страницу, то этот функционал не работает :( Есть какие-нибудь мысли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 18:50 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
ZekeЕсть какие-нибудь мысли? скрин выложи. Надо взглянуть, как ты из веба десктоп делаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 19:14 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Petro123, а скрин чего именно? я все сделал по шагам, которые выше расписаны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 19:16 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
ZekePetro123, а скрин чего именно? я все сделал по шагам, которые выше расписаны как чего? Например, в десктопе видно текущую выделенную строку в мастере. Или работает клава при переходе по мастеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 19:20 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
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 Это первое что заметил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 19:20 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
heavyside, Я выбрал в свойстве Event Scope -> Dynamic. Теперь работает на всех страницах, да, но с запозданием на одну запись. То есть я жму на текущую запись, а detail отчет отображается для предыдущей записи, которую я нажимал перед этим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 19:36 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Petro123ZekePetro123, а скрин чего именно? я все сделал по шагам, которые выше расписаны как чего? Например, в десктопе видно текущую выделенную строку в мастере. Или работает клава при переходе по мастеру. чувствую себя умственно-отсталым. Я все равно не понял :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 19:39 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, Console.info ставь и отлаживай. Че гадать. Чуть канал будет слабже и у тебя рефрешь может раньше пойти присвоения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 19:50 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
ZekePetro123пропущено... как чего? Например, в десктопе видно текущую выделенную строку в мастере. Или работает клава при переходе по мастеру. чувствую себя умственно-отсталым. Я все равно не понял :( )))) У меня намедни заказчик сказал что хочет мастер деталь с сохранением одной кнопкой. Вот тоже думаю, теперь выкинуть код apex dml и делать на коллекциях руками или сказать заказчику что он перебарщивает). Неустойчиво будет работать эта твоя задумка. Вот что. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 20:08 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Petro123, Теперь понял :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 20:08 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, По дизайну. Если у тебя пагинация то ты половину места же сжираешь когда 2 таблы на одной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 20:16 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Petro123Zeke, По дизайну. Если у тебя пагинация то ты половину места же сжираешь когда 2 таблы на одной? у меня detail таблицы маленькие, отображаются под главной, поэтому я не парюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 20:50 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, рядом тема не подходит для тебя что-ли? Всё же решается в APEX похожим образом. - в колонке пишем javascript:MyClick('#ID#'); или запись $s( - на onChange ITEMS пишем savesession + refresh в чём проблема то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 21:29 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
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 должно быть достаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 09:13 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
blkangel, Все таки Spoce должен быть Dynamic, чтобы триггер при пагинации работал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 09:23 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
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 штук выводится на страницу), если обновить страницу целиком (в Хроме, например), то все работает без проблем. Может нужно еще где-то свойство какое-нибудь поменять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 14:46 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 14:55 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Petro123, Сделал его видимым. В итоге на самой первой странице все работает идеально, поле меняется после каждого клика. Перехожу на следующую группу записей и кликаю по записям, в итоге значение в поле неизменно и обновления detail записей тоже не происходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 15:06 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zekeв итоге значение в поле неизменно это главное. Детайль вторична. Копай....смотри структуру HTML в firebug ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 15:39 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
функцию OnClick сформируй прямо в запросе, чтобы там железобетонно в строке был мояФункцияClick(123); 123 - ID_Parent ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 15:50 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Petro123, в запросе, который основные данные отображает для interactive report? можно пример для особо одаренных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 15:58 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, мммммм.... надо подумать. HTML Expression - типа этого только для подсветки цветом... Код: sql 1. #SAL# - колонка с твоим текстом ЗЫ. Что вставить спрошай на форуме JS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 17:16 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, второй вариант - LINK в колонке на JS, но наверно тебя это не устроит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 17:18 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Zeke, вообще, задача - вывести в alert(this) или значение колонки из данной строки. А потом уже всё остальное. Чтобы не мешать проблему APEX пагинации и HTML. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2015, 17:21 |
|
||
|
Просмотр Master-detail таблиц на одной странице
|
|||
|---|---|---|---|
|
#18+
Подведя итог, хочу сказать, что действительно достаточно было у Dynamic Action изменить свойство Event Scope -> Dynamic и все заработало. Не понятно только, почему это не сработало в самый первый раз. Спасибо всем, кто откликнулся на мои страдания :) З.Ы. Dynamic Action можно было создать всего один и в него на событие TRUE натолкать несколько разных действий (в данном случае выполнение javascript кода и обновление региона) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2015, 11:22 |
|
||
|
|

start [/forum/topic.php?all=1&fid=50&tid=1874774]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
201ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 554ms |

| 0 / 0 |
