Можете или да използвате връзка към колона, за да изберете записа и да отидете до друга страница, или бутон за избор и бутон/връзка към страница, за да го направите. Ще демонстрирам и двете, като използвам прост отчет в таблицата 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 стойност със себе си:
Това е! Няма скрит елемент, няма бутон, няма процес на страница, няма клон...