вторник, 1 мая 2007 г.

Добавляем поиск и подсветку в отчет Oracle Application Express.

Зачастую в приложениях, работающих со значительными объемами данных, необходим такой функционал как поиск. К сожалению, Oracle Application Express не предоставляет таких встроенных средств (как, например, Oracle Forms). Поэтому его (функционал поиска) необходимо реализовывать в ручную.
Продолжая развивать созданное ранее приложение, добавим к нему возможность поиска и подсветки результатов. Для этого необходимо зайти в главную страницу приложения и добавить регион, в котором будут содержаться элементы интерфейса для работы с поиском:
Добавляем простой HTML-регион:


Выставляем заголовок для региона - "Поиск" и номер последовательности выбираем такой, чтобы номера всех остальных регионов приложения были больше. Таким образом, мы сообщаем Apex'у о том, что создаваемый регион необходимо выводить на странице самым первым:
Источник оставляем пустым:
В результате, видим новый регион:
Следующим шагом будет добавление непосредственно строки поиска и кнопки обновления страницы. Добавляем строку поиска - это будет новый Item:
Тип элемента - простое текстовое поле:
Указываем имя элементу и регион, к которому он будет относиться:
Далее, указываем заголовок строки поиска:
И выставляем источник элемента - "не вычисляемый":
Далее, необходимо добавить кнопку, которая будет сообщать приложению о необходимости обновить страницу с учетом введенной строки поиска:
Указываем, к какому региону будет принадлежать новый элемент интерфейса:
Указываем, что кнопка должна располагаться внутри региона, а не за его пределами:
Указываем наименование новой кнопки, текст, который будет выведен на ней и шаблон, в соответствии с которым сам контрол будет выводиться на странице:
Далее, добавим подсказку для строки поиска, для этого необходимо перейти к описанию соответствующего элемента интерфейса:
Перейти в секцию "Help" и ввести текст подсказки:
Далее, необходимо изменить регион отчета таким образом, чтобы он учитывал строку поиска. Для этого необходимо перейти к описанию региона:
И в секции "Source" изменить текст запроса:
Далее, необходимо указать приложению на какую страницу необходимо навигироваться после нажатия кнопки поиска. Для этого необходимо создать новый "Branch":
Указываем, что будем переходить на страницу:
Указываем номер страницы:
Кроме того, указываем, что переходить нужно только в том случае, если была нажата кнопка поиска:
И, завершающим штрихом, добавляем подсветку результатов поиска. Для этого переходим в описание отчета:
Переходим к описанию того поля, по которому будет выполняться поиск:
И указываем в поле "Highlight Words" наименование того поля, в соответствии со значением которого, необходимо выполнять подсветку:
Вот и все...
Работу приложения, как всегда можно проверить на apex.oracle.com.

1 комментарий:

Анонимный комментирует...

Здравствуйте , как при поиске обновлять вторую таблицу? Можете на вашем примере сделать?