#oracle #oracle-apex #oracle-apex-19.1 #oracle-apex-19.2
#Oracle #oracle-apex #oracle-apex-19.1 #oracle-apex-19.2
Вопрос:
Я работаю над приложением в Oracle Apex. У меня есть интерактивный отчет, основанный на следующем запросе.
SELECT NAME, DATE, '' LINK_TO_PAGE
FROM APPLICATIONS
Из приведенного выше запроса мы видим, что у меня есть 2 столбца (имя, дата) из таблицы Applications и пустой столбец (Link_to_page).
Для пустого столбца Link_to_page я установил атрибуты
- Тип : Ссылка
- Цель: страница 2
- Текст ссылки: Применить
- Атрибуты ссылки: class=»t-Button t-Button — простая t-Button — горячая t-Button -stretch»
Что я хочу сделать, это отключить кнопку в столбце Link_to_page, если sysdate больше даты в столбце Date.
Как я могу это сделать?
Ответ №1:
Один из вариантов — сделать это непосредственно в запросе, например
select name,
date,
case when sysdate > date then null
else '<span class="t-Icon fa fa-box-arrow-out-ne"></span>'
end link
from applications
(Обратите внимание, что date
это недопустимое имя столбца в Oracle; оно зарезервировано для типа данных).
LINK
значение столбца
- тип = Ссылка
- Ссылка
- цель = Страница 2
- текст ссылки = #ССЫЛКА#
- атрибуты ссылки = класс =»t-кнопка t-кнопка — простая t-кнопка — горячая t-кнопка — растяжение»
и это все … CASE
убедитесь, что эта кнопка даже не отображается (поэтому на самом деле она не будет «отключать» ее, как вы хотели). Посмотрите, поможет ли это.
Комментарии:
1. Спасибо за помощь. Но можно ли отключить или не отображать кнопку без изменения запроса?
2. эффективнее сделать это в вашем sql, иначе вам понадобится javascript