Как я могу передать значение с одной страницы, чтобы мой фильтр «Текст строки содержит» был включен в Oracle APEX

#oracle-apex

#oracle-apex

Вопрос:

Есть ли какой-либо способ в Oracle APEX, где мы можем передать значение с одной страницы на другую страницу, а на другой странице он эмулирует фильтр, такой же, как «Текст строки содержит». Например:

Страница A —> нажимает на ссылку для вызова страницы B и передает значение ‘12345’ на эту новую страницу.

И затем открывается страница B со всеми значениями, где текст строки содержит ‘12345’

Я создал скрытое поле ‘P17812_EMPLOYEE_NUMBER’ на странице B. Когда я нажимаю на ссылку на странице A, я устанавливаю значение в этом поле. Теперь я создал динамическое действие при «загрузке страницы» на странице B. Где я пишу приведенный ниже код :

 $("#apexir_SEARCH").val($v("P17812_EMPLOYEE_NUMBER"));
gReport.search("SEARCH");
  

Но это также не работает.

Есть ли какой-либо способ реализовать этот сценарий?

Спасибо за вашу помощь.

Ответ №1:

Вы можете использовать IR_ROWFILTER в URL в качестве параметра, а в значениях параметров — значение, которое вы хотите отфильтровать, например:

 ?p=App:Page:Session:Request:Debug:ClearCache:IR_ROWFILTER:12345:PrinterFriendly
  

Вы можете прочитать больше об APEX url здесьhttps://docs.oracle.com/database/121/HTMDB/concept_url.htm#HTMDB03019

и об ИК-фильтре https://docs.oracle.com/database/apex-5.1/HTMDB/linking-to-interactive-reports.htm

Комментарии:

1. Вы также можете сделать это: docs.oracle.com/database/121/AEAPI/apex_ir.htm#AEAPI29339

Ответ №2:

Создайте элемент скрытой страницы на странице B, установите значение ссылки для элемента при нажатии на него, затем выполните ту же инструкцию select со страницы A на B с предложением where

ВЫБЕРИТЕ a, b, c ИЗ теста… ГДЕ b = %ITEM%

(% сообщает ему, что это может быть любой текст или его отсутствие) и не забудьте передать элемент в sql-запрос

Я надеюсь, что я понял, чего вы хотите, и что мой ответ понятен.

Комментарии:

1. Спасибо за ваше предложение. Но я не хочу, чтобы значение передавалось для определенного столбца, такого как ‘b’ в вашем случае. Я хочу фильтровать — если строка содержит значение моего поиска в любом месте строки, в любом столбце, а не в каком-либо конкретном столбце..

2. Что ж, другие пользователи дали вам отличные ответы, но если вы хотите использовать самый простой метод (тот, который я описал), вы также могли бы просто поступить по-моему с операторами OR, чтобы проверять каждый столбец.