Puoi utilizzare un collegamento a una colonna per selezionare il record e passare a un'altra pagina, oppure un pulsante di opzione e un pulsante/collegamento di pagina per farlo. Dimostrerò entrambi utilizzando un semplice rapporto sulla tabella DEPT.
Metodo 1:pulsante di opzione
Per il pulsante di opzione possiamo aggiungere una colonna aggiuntiva al report utilizzando il apex_item.radiogroup
funzione per creare un pulsante di opzione il cui valore è DEPTNO:
Per impostazione predefinita, l'HTML del radiogroup verrà sottoposto a escape per motivi di sicurezza, che non è quello che vuoi ma illustra cosa sta facendo abbastanza bene:
Possiamo risolverlo modificando la proprietà della colonna in "Colonna rapporto standard":
Ora vediamo:
Facendo clic sul pulsante di opzione su qualsiasi riga lo seleziona e deseleziona i pulsanti sulle altre righe.
Per passare a un'altra pagina con la riga selezionata abbiamo bisogno di un pulsante per inviare la pagina con una richiesta speciale:
Quando viene cliccato, quel pulsante invierà la pagina con un valore di richiesta di "SELECT" (il nome del pulsante che ho scelto). Quindi possiamo scrivere un processo di invio della pagina da attivare quando la richiesta è "SELECT", scoprire quale pulsante di opzione è stato selezionato (se presente) e salvare il DEPTNO selezionato in un elemento nascosto chiamato say P34_DEPTNO. Scopriamo quale pulsante guardando l'array APEX apex_application.g_f01
che abbiamo scelto passando 1
come primo parametro per 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;
Quindi possiamo definire un ramo che naviga alla nuova pagina se (a) request ='SELECT' e (b) P34_DEPTNO non è nullo.
E questo è tutto. Un bel po' di lavoro, ma se questo è il requisito lo farà.
Metodo 2:collegamento alla colonna
Il modo più semplice è fare a meno dei pulsanti di opzione e trasformare semplicemente una delle colonne del rapporto in un collegamento:
Questo trasforma la colonna (ho scelto DNAME) in un collegamento che naviga alla nuova pagina portando con sé il valore DEPTNO selezionato:
Questo è tutto! Nessun elemento nascosto, nessun pulsante, nessun processo di pagina, nessun ramo...