Ausgewählten Tree Eintrag hervorheben
Während der DOAG APEX SIG Veranstaltung wurde ich gefragt wie man bei einer Tree Darstellung in Oracle APEX den aktuell ausgewählten Eintrag hervorheben/markieren kann.Nach einer kurzen Nachdenkpause über das Problem hat es sich herausgestellt, dass es eine sehr einfache Lösung gibt, wenn man die Tree Query mit ein wenig HTML Code verbindet.
- Erstelle eine normale Tree Region.
- Erstelle eine Form Region die mit dem Tree synchronisiert werden soll.
- Ändere die Tree Query, damit sie das folgende CASE Statement enthält
SELECT EMPLOYEE_ID AS ID
, MANAGER_ID AS PID
, CASE
WHEN EMPLOYEE_ID = :P4_EMPLOYEE_ID THEN
'<span style="color:white;background-color:blue;">'||
LAST_NAME||
'</span>'
ELSE
LAST_NAME
END AS NAME
, 'f?p=&APP_ID.:4:'||:SESSION||'::NO::P4_EMPLOYEE_ID:'||EMPLOYEE_ID AS LINK
, NULL AS A1
, NULL AS A2
FROM #OWNER#.EMPLOYEES
Wenn der Tree gerendered wird, dann vergleicht das CASE Statement für den aktuell verarbeiteten Tree Eintrag/Datensatz die EMPLOYEE_ID mit dem aktuell in der Form (P4_EMPLOYEE_ID) angezeigten Datensatz.
Wenn die zwei IDs übereinstimmen, dann wird dem LAST_NAME noch ein SPAN verpasst, welches die notwendigen Style Informationen für die Anzeige beinhaltet.
Einfach, oder? :-)
Schaut Euch die lauffähige Demo des Beispiels an.






0 Comments:
Kommentar veröffentlichen
<< Zurück zur Startseite