K výběru záznamu a přechodu na jinou stránku můžete použít buď odkaz na sloupec, nebo k tomu přepínač a tlačítko/odkaz stránky. Obojí předvedu pomocí jednoduché zprávy na tabulce DEPT.
Metoda 1:přepínač
Pro přepínač můžeme do sestavy přidat další sloupec pomocí apex_item.radiogroup
k vytvoření přepínače, jehož hodnota je DEPTNO:
Ve výchozím nastavení bude kód HTML radiogroup z bezpečnostních důvodů escapován, což není to, co chcete, ale docela pěkně ilustruje, co dělá:
Můžeme to opravit změnou vlastnosti sloupce na "Standardní sloupec přehledu":
Nyní vidíme:
Kliknutím na přepínač na libovolném řádku jej vyberete a zrušíte výběr tlačítek na jiných řádcích.
Pro přechod na jinou stránku s vybraným řádkem potřebujeme tlačítko pro odeslání stránky se speciálním požadavkem:
Po kliknutí na toto tlačítko odešlete stránku s hodnotou požadavku „SELECT“ (název tlačítka, který jsem zvolil). Můžeme tedy napsat proces on-submit stránky, který se spustí, když je požadavek "VYBRAT", zjistit, který přepínač byl vybrán (pokud existuje) a uložit vybrané DEPTNO do skryté položky s názvem P34_DEPTNO. Které tlačítko zjistíme pohledem na pole APEX apex_application.g_f01
který jsme vybrali předáním 1
jako první parametr 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;
Pak můžeme definovat větev, která přejde na novou stránku, pokud (a) request ='SELECT' a (b) P34_DEPTNO není null.
A to je vše. Docela hodně práce, ale pokud je to požadavek, udělá to.
Metoda 2:odkaz na sloupec
Jednodušší způsob je obejít se bez přepínacích tlačítek a jednoduše vytvořit odkaz z jednoho ze sloupců přehledu:
Tím se sloupec (vybral jsem DNAME) změní na odkaz, který přejde na novou stránku s vybranou hodnotou DEPTNO:
A je to! Žádná skrytá položka, žádné tlačítko, žádný proces stránky, žádná větev...