powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Взаимосвязанные репорты
8 сообщений из 8, страница 1 из 1
Взаимосвязанные репорты
    #39482953
iv_roman_vl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день!
Имеется две таблицы, например, сотрудники и отделы.
сотрудники: |id|имя|id_отдела|
отделы: |id|название|

Репорт для отделов выглядит так: select * from "отделы".
Репорт для сотрудников так: select * from "сотрудники" where id_отдела="параметр"

Два репорта отображаются на одной странице.
Необходимо сделать так, чтобы при клике на одной из строке репорта отделов, в репорте сотрудников отображались только сотрудники соответствующего отдела.(то есть того отдела на котором мы кликнули)

И самое интересное надо реализовать "Без перезагрузки страницы" с помощью DynamicAction и javascript.

Коллеги, прошу помощи!
...
Рейтинг: 0 / 0
Взаимосвязанные репорты
    #39482987
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_roman_vlid_отдела="параметр"
- создать айтемс "параметр" видимый на страничке
- при клике записать в него новое id и увидеть
- после записи запустить перезагрузку не страницы а региона-отчёта refresh
...
Рейтинг: 0 / 0
Взаимосвязанные репорты
    #39482999
iv_roman_vl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как в айтемс записать значение id отдела?
Точнее сказать, как определить что клик был на той или иной строке репорта отдела, и получить id отдела этой строки?
...
Рейтинг: 0 / 0
Взаимосвязанные репорты
    #39483000
iv_roman_vl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123iv_roman_vlid_отдела="параметр"
- создать айтемс "параметр" видимый на страничке
- при клике записать в него новое id и увидеть
- после записи запустить перезагрузку не страницы а региона-отчёта refresh

А как в айтемс записать значение id отдела?
Точнее сказать, как определить что клик был на той или иной строке репорта отдела, и получить id отдела этой строки?
...
Рейтинг: 0 / 0
Взаимосвязанные репорты
    #39483026
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас попробовал - у меня получилось так. Может, криво, но прямее способ не придумал пока.
1. Репорты - как обычно, detail репорт со строчкой
Код: sql
1.
where id_отдела= :P_ITEM_NAME

мастер репорт - в свойствах региона в разделе "Appearence" в свойстве "CSS Classes" пишем, например, "clickable" или любое другое незанятое имя класса по вкусу.
2. Итем с названием P_ITEM_NAME
3. Динамик экшен:
Event - Click
Selection type - JQuery selector
JQuery selector - "section.clickable tr.highlight-row" (тут тот самый кликабл, просто чтобы правильно идентифицировать место клика).
4. В динамик экшене прописываем следующие true actions:
a) Set value
Set type - javascript expression
Expression -
Код: javascript
1.
this.triggeringElement.getElementsByTagName('td')[0].innerHTML

В квадратных скобках - номер столбца с данными. Ну или другое выражение, извлекающее нужный айдишник из репорта. this.triggeringElement уже ссылается на кликнутую строку.
б) Execute PL/SQL Code
PL/SQL Code -
Код: sql
1.
null;


Items to submit - ваш итем с параметром
в) Refresh
Selection Type - Region
Region - ваш регион номер 2
...
Рейтинг: 0 / 0
Взаимосвязанные репорты
    #39483042
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор Кузьмичмастер репорт - в свойствах региона в разделе "Appearence" в свойстве "CSS Classes" пишем, например, "clickable" или любое другое незанятое имя класса по вкусу.Или поле Static ID в разделе Advanced. Тогда селектор будет "table#report_clickable tr.highlight-row". Вариант с CSS классом хорош тем, что можно сделать один динамик экшен на несколько репортов, у меня в текущем проекте это используется (только там не мастер-детейл, а открытие модального окна по дабл клику).
...
Рейтинг: 0 / 0
Взаимосвязанные репорты
    #39483217
iv_roman_vl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никанор КузьмичСейчас попробовал - у меня получилось так. Может, криво, но прямее способ не придумал пока.
1. Репорты - как обычно, detail репорт со строчкой
Код: sql
1.
where id_отдела= :P_ITEM_NAME

мастер репорт - в свойствах региона в разделе "Appearence" в свойстве "CSS Classes" пишем, например, "clickable" или любое другое незанятое имя класса по вкусу.
2. Итем с названием P_ITEM_NAME
3. Динамик экшен:
Event - Click
Selection type - JQuery selector
JQuery selector - "section.clickable tr.highlight-row" (тут тот самый кликабл, просто чтобы правильно идентифицировать место клика).
4. В динамик экшене прописываем следующие true actions:
a) Set value
Set type - javascript expression
Expression -
Код: javascript
1.
this.triggeringElement.getElementsByTagName('td')[0].innerHTML

В квадратных скобках - номер столбца с данными. Ну или другое выражение, извлекающее нужный айдишник из репорта. this.triggeringElement уже ссылается на кликнутую строку.
б) Execute PL/SQL Code
PL/SQL Code -
Код: sql
1.
null;


Items to submit - ваш итем с параметром
в) Refresh
Selection Type - Region
Region - ваш регион номер 2

Да, спасибо!
Этот вариант работает!!!
Нюансы:
1) селектор кликов такой: #report_clickable tr. Почему то highlight-row вообще не определял.
2) Работаю с таблицами emp и dept, в них данных почти нет. Иногда притормаживает запрос. А в основном летает. Я так думаю дело уже не в конструкции APEX а в БД, коннекшеннах и тд.

СПАСИБО!
...
Рейтинг: 0 / 0
Взаимосвязанные репорты
    #39483542
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_roman_vl1) селектор кликов такой: #report_clickable tr. Почему то highlight-row вообще не определял.У нас на проекте не используются стандартные апексовые схемы, "highlight-row" - это наш CSS-класс, из нашего темплейта. Случайно затесался.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Взаимосвязанные репорты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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