Как включить или отключить кнопку в столбце на основе значения другого столбца в Oracle Apex?

#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