powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как массово управлять отображением элементов на странице
9 сообщений из 9, страница 1 из 1
Как массово управлять отображением элементов на странице
    #39948917
Титов Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Прошу подсказать решение, если кто-то пересекался с подобной задачей.

APEX 19.1

На странице много элементов, отображение каждого из которых зависит от результата выполнения одной функции с параметрами.
И чтобы управлять отображением, нужно для каждого элемента указать Server-side Condition.

Можно ли как-то ускорить этот процесс, чтобы сделать один вызов и скрыть все предназначенные для этого элементы?
...
Рейтинг: 0 / 0
Как массово управлять отображением элементов на странице
    #39949349
Sah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько часто выполняется этот запрос?
Я делал скрытие элементов для различных ролей пользователей на основе схем авторизации. Там возможно кеширование на разных уровнях: на элементе, на странице, на сессии.
...
Рейтинг: 0 / 0
Как массово управлять отображением элементов на странице
    #39949355
Титов Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sah
Насколько часто выполняется этот запрос?
Я делал скрытие элементов для различных ролей пользователей на основе схем авторизации. Там возможно кеширование на разных уровнях: на элементе, на странице, на сессии.


Запросы выполняются при каждом открытии страницы и их может быть под 200 за раз.
Для каждого элемента выполняется Condition (PL/SQL Expression) вида:
Код: plsql
1.
PKG_MATRIX_WORK.FNC_GET_MATRIX_ITEM_STAT_ALT(IN_ANKET_ID => :P112_ID, IN_FIELD_NAME => 'N_SSALDO_PRODUCT1')=1


И значение IN_FIELD_NAME меняется от элемента к элементу (или от группы элементов к группе), значение же IN_ANKET_ID на открытой странице одно. Кешировать не выйдет, т.к. матрица отображения может измениться.

В зависимости от роли у меня устанавливается для элементов значение READONLY и его достаточно посчитать один раз для всех элементов, т.к. роль на текущую сессию одна и значение PL/SQL Expression можно сохранить в один скрытый элемент и потом его использовать для установки READONLY везде, где нужно.

Я предполагал, что можно написать процедуру, которая средствами APEX пробежится по элементам страницы и установит Condition, где нужно (в зависимости от имени элемента, например)
...
Рейтинг: 0 / 0
Как массово управлять отображением элементов на странице
    #39949847
Nickname
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Титов Артем,

Если такое большое количество элементов на странице которое необходимо контролировать, может создавать их программно?
...
Рейтинг: 0 / 0
Как массово управлять отображением элементов на странице
    #39949861
Sah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока в голову приходит только схема через JavaScript. Типа сформировать строку с именами элементов, которые нужно скрыть, записать в скрытый элемент, затем в JavaScript распарсить эту строку и скрыть все эти элементы. Но тут я не мастак.
...
Рейтинг: 0 / 0
Как массово управлять отображением элементов на странице
    #39950605
non-apexoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Титов Артем, а кто мешает одним вызовом сделать вычисления, закэшировав результат, скажем, в ассоциативном массиве - а на элементы в серверном условии вызывать ф-ю анализирующую значения элементов - она будет точно не тяжелой. Вызов делать before header страницы.
...
Рейтинг: 0 / 0
Как массово управлять отображением элементов на странице
    #39950884
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
non-apexoid,
+1
Один вызов, записал значение в элементе, остальные условия на этот элементЮбез обращения к БД
...
Рейтинг: 0 / 0
Как массово управлять отображением элементов на странице
    #39951184
Титов Артем
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blkangel
non-apexoid,
+1
Один вызов, записал значение в элементе, остальные условия на этот элементЮбез обращения к БД


У меня так работает свойство readonly. Там в функции лишь один параметр - роль юзера и можно сохранить значение в один элемент и уже оттуда читать.

Для condition же в функцию передается идентификатор каждого элемента и так сделать уже нельзя
...
Рейтинг: 0 / 0
Как массово управлять отображением элементов на странице
    #39951490
non-apexoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Определитесь, пожалуйста чего больше хотите - сэкономить на вызовах или на количестве копипастов при задании server side condition
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Как массово управлять отображением элементов на странице
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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