У меня есть две страницы веб-приложения APEX, содержащие следующие столбцы:
Table 1:
Column1 Column 2 Column 3
a x 123
b y 456
c u 567
d v 678
e w 789
Table 2 URL: https://example.com
Table 2:
ColumnA ColumnB ColumnC
a aa 1234
c vv 2222
b ac 7654
e cc 6789
d kk 9809
Note: Column 1 and columnA are same values but jumbled
Если я нажму на столбец 1 таблицы 1 «b», он должен привести меня на страницу, содержащую значения строки таблицы 2 «b». Если я нажму «b» в таблице 1, вывод должен открыться на другой странице примерно так:
Table 2
ColumnA ColumnB ColumnC
b vv 2222
Что я пробовал до сих пор?
Я пытался редактировать URL: https://example.com/#COLUMNA#
, но он отображает всю таблицу, а не конкретную строку с гиперссылкой.
Как я могу это решить?
Вот как:
на второй странице создайте скрытый элемент :P2_COLUMNA
измените свой запрос, чтобы использовать этот элемент в предложении WHERE
, например.
select ... from table2 where columnA = :P2_COLUMNA
на первой странице используйте столбец ссылок для column1
и установите
P2_COLUMNA
до #COLUMN1#
запустить первую страницу; когда вы нажимаете значение, используемое в качестве ссылки, оно перенаправляет вас на вторую страницу, заполняет скрытый элемент, который, в свою очередь, будет использоваться в предложении WHERE
второй страницы и отображает ожидаемые значения.
Или можно просто отредактировать целевой URL? Если я редактирую целевой URL-адрес на example.com/:RIR:IR_COLUMNA:b, он отображает только одну строку. Но если я нажму на c, он отобразит данные в строке b. Как мне отредактировать URL? Спасибо!
Я не знаю, извините; Я описал способ использования. В настоящее время я не могу провести какое-либо тестирование, поэтому вам придется сделать это самостоятельно (или дождаться чьего-либо ответа).
На первой странице создайте столбец связи в интерактивном отчете и задайте свойства:
name = IR[<REPORT_STATIC_ID_ON_TARGET_PAGE>]EQ_<COLUMN_NAME_ON_TARGET_PAGE>
value = #<COLUMN_NAME_ON_SOURCE_PAGE>#
Прочтите это https://docs.oracle.com/database/apex-5.1/HTMDB/linking-to-interactive-reports.htm#HTMDB30108
На картинке я передал значение на той же странице, но разницы нет. Итак, прежде чем щелкнуть, у меня есть
И после клика
PS. Вы должны установить свойство Staic ID на свой IR
После установки статического идентификатора
Что такое статический идентификатор отчета? Это имя столбца?
Мой статический идентификатор в расширенном столбце пуст. Должен ли я оставить это поле пустым при установке имени элемента или мне следует создать новый идентификатор? Заранее спасибо!
Вы должны установить некоторое значение в свойстве «Статический идентификатор» и использовать это значение в IR[<REPORT_STATIC_ID_ON_TARGET_PAGE>]EQ_<COLUMN_NAME_ON_TARGET_PAGE>. Посмотрите на мой скриншот. Статический идентификатор моего IR = MY_IR
Я создал статический идентификатор с именем MY_IR в расширенном столбце. Когда я сохраняю и запускаю, я получаю следующую ошибку: «Статический идентификатор региона MY_IR не существует»
Если я сохраняю и запускаю без статического идентификатора, он открывает целевую страницу, фильтрует таблицу, но говорит: «данные не найдены».
Что вы подразумеваете под «расширенной колонкой»? Статический идентификатор является одним из свойств IR. Посмотрите обновление ответа.
Да, я сделал то же самое. Пожалуйста, найдите прикрепленные скриншоты. Еще раз спасибо!
Можно ли это сделать без создания хиттена? Спасибо!