Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle Apex:подход стъпка по стъпка за създаване на радио бутони в интерактивен отчет

Можете или да използвате връзка към колона, за да изберете записа и да отидете до друга страница, или бутон за избор и бутон/връзка към страница, за да го направите. Ще демонстрирам и двете, като използвам прост отчет в таблицата DEPT.

Метод 1:бутон за избор

За бутона за избор можем да добавим допълнителна колона към отчета с помощта на apex_item.radiogroup функция за създаване на радио бутон, чиято стойност е DEPTNO:

По подразбиране HTML кодът на радиогрупата ще бъде екраниран от съображения за сигурност, което не е това, което искате, но илюстрира доста добре какво прави:

Можем да поправим това, като променим свойството на колоната на „Стандартна колона за отчет“:

Сега виждаме:

Щракването върху бутона за избор на който и да е ред го избира и премахва избора на бутоните на други редове.

За да преминем към друга страница с избрания ред, се нуждаем от бутон за изпращане на страницата със специална заявка:

Когато се щракне, този бутон ще изпрати страницата със стойност на заявката „ИЗБЕРИ“ (избраното от мен име на бутона). Така че можем да напишем процес на страница при изпращане, който да се задейства, когато заявката е "SELECT", да разберем кой радио бутон е избран (ако има такъв) и да запазим избрания DEPTNO в скрит елемент, наречен P34_DEPTNO. Откриваме кой бутон, като разглеждаме APEX масива apex_application.g_f01 който избрахме чрез предаване на 1 като първи параметър към apex_item.radiogroup :

if apex_application.g_f01.count > 0 then
   -- Array has been populated i.e. user chose a value
   :p34_deptno := apex_application.g_f01(1);
else 
   -- Array has not been populated i.e. user did not choose a value
   :p34_deptno := null;
end if;

След това можем да дефинираме клон, който навигира към новата страница, ако (a) заявка ='SELECT' и (b) P34_DEPTNO не е null.

И това е. Доста много работа, но ако това е изискването, ще се справи.

Метод 2:връзка към колона

По-лесният начин е да се откажете от бутоните за избор и просто да направите една от колоните на отчета във връзка:

Това превръща колоната (аз избрах DNAME) във връзка, която навигира към новата страница, като взема избраната DEPTNO стойност със себе си:

Това е! Няма скрит елемент, няма бутон, няма процес на страница, няма клон...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Запитването многократно в Oracle с помощта на perl връща само първата заявка

  2. Plsql, за да напишете номер (валута) в италианска валута без твърдо кодиран номер на превода

  3. Множество THEN към един оператор CASE?

  4. Възможно ли е да се предаде името на таблицата като параметър в Oracle?

  5. Попълнете редове в колона A със стойността на колона B, ако условието в колона A е изпълнено