Гиперссылки и переменные столбца интерактивного отчета Oracle APEX

Я впервые использую APEX 5 и пытаюсь связать пользователей с той же страницей из столбца интерактивного отчета.

Страница, на которую указывает ссылка, будет отображать разные данные в зависимости от того, на какой строке щелкнул пользователь.

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

Будем очень признательны за любой совет или помощь!


person Frankieeee    schedule 17.05.2018    source источник


Ответы (1)


На мой взгляд, неправильный подход.

Вы должны были сделать это:

  • создать новую страницу
  • выберите тип страницы «Отчет»
  • выберите «Отчет с формой на столе»

Он создаст как интерактивный отчет, так и «связанную» форму, которая будет использоваться для описанной вами цели. Вам даже не нужно писать ни строчки кода, Apex все сделает за вас. Достаточно щелкнуть значок в начале строки интерактивного отчета, и он приведет вас к форме и отобразит значения, относящиеся к этой самой строке.

person Littlefoot    schedule 17.05.2018
comment
Большое спасибо за совет! Теперь мне интересно, как определить, на какую запись я щелкнул? потому что теперь я хочу заменить страницу с информацией об изменении отчета новым отчетом, который создается в зависимости от того, какая запись была нажата. В какую переменную я могу поместить (где id =?) - person Frankieeee; 17.05.2018
comment
Извините, вы знаете, как определить, на какую запись я щелкнул? потому что теперь я хочу заменить страницу с информацией об изменении отчета новым отчетом, который создается в зависимости от того, какая запись была нажата. Какую переменную я могу поместить в (где id =?) Большое вам спасибо - person Frankieeee; 17.05.2018
comment
Если вы открываете страницу интерактивного отчета (в Apex), перейдите к ее атрибутам. Есть свойство Link, которое описывает, что делать, когда вы щелкаете столбец ссылки - возможно, ссылка на настраиваемую цель, а целью является (например) Страница 30. Нажмите кнопку цели. Откроется окно построителя ссылок, и в нем вы увидите, что элемент целевой страницы (например, P30_ID) установлен на текущее (интерактивного отчета) значение #ID#. Я предлагаю вам сделать то же самое. - person Littlefoot; 17.05.2018
comment
Литтефут указывает вам правильное направление. Я уверен, что в учебниках Apex это есть подробнее, так как это довольно базовая концепция Apex. - person StewS2; 17.05.2018
comment
очень признателен за вашу помощь. Последний вопрос, как мы можем определить имя пользователя, вошедшего в систему, с помощью нашей пользовательской схемы аутентификации? мы много раз пробовали - person Frankieeee; 17.05.2018
comment
Использовать переменную Apex :APP_USER - person Littlefoot; 17.05.2018
comment
Мы наконец решили это, большое спасибо за ваше время, очень признательны! - person Frankieeee; 17.05.2018
comment
Извините, что снова вас беспокою, мы попытались использовать значения, установленные в элементе целевой страницы, например P30_ID и # ID # в предложение where в sql. Но это не позволяет мне этого сделать. Как мне использовать эти значения в sql-запросе? - person Frankieeee; 19.05.2018
comment
Я не думаю, что ты сможешь это сделать. На целевой странице (это форма, не так ли?) Вы должны использовать процесс автоматической выборки строк (его позиция - Предварительная отрисовка - После заголовка). Создайте образец [Интерактивный отчет + форма] и посмотрите, как это делает мастер, а затем скопируйте его в свою настоящую форму. Хотя я не понимаю, почему вы делаете это таким образом, вместо того, чтобы использовать встроенные возможности Apex ... - person Littlefoot; 19.05.2018
comment
Какие встроенные возможности Apex позволяют мне это делать? Я просто хочу, чтобы была создана другая страница (с отчетом IR), в зависимости от того, какая строка IR была нажата. Я создал отчет с формой в таблице, как вы предложили, и вместо этого изменил форму на IR, но я не могу понять, как определить, какая строка была нажата в моем новом создаваемом IR. - person Frankieeee; 20.05.2018