Ano, je to možné. Můžete odstranit (nebo deaktivovat) standardní procesy, jako je ApplyMRU, a nahradit je svými vlastními procesy PL/SQL, abyste zvládli pole tabulkových formulářů asi takto:
for i in 1..apex_application.g_f02.count loop
update dept
set dname = apex_application.g_f03(i)
where deptno = apex_application.g_f02(i);
end loop;
Není to však jednoduché a k tomu, abyste to udělali správně, potřebujete vědět docela dost, například:
- Jak se sloupce tabulkového formuláře mapují na pole jako apex_application.g_f03 (zobrazte zdroj stránky a vyhledejte názvy ovládacích prvků, např. „f03_0001“).
- Jak některé typy položek, jako jsou zaškrtávací políčka, fungují jinak než ostatní
- Jak provádět optimistické zamykání, aby nedošlo ke ztrátě aktualizací
Kdysi existoval dokument „jak na to“ na apex.oracle.com, který to podrobně popisoval, ale nedávno se mi ho nepodařilo najít.