SuperX

KontaktMail für InfosSuchenLogin

Detailansicht verlinken

Es ist möglich die Werte einer bestimmten Spalte als Links auszugeben, sodass mit einem Klick auf diesen weitere Details in einer zweiten Ergebnistabelle gezeigt werden. Dabei wird über Klick auf diesen Link eine zweite Maske aufgerufen, die Maskenfelder dieser Maske mit den übergebenen Parametern gefüllt und die Ergebnistabelle dieser Maske ausgegeben.


Im Folgenden eine Erläuterung anhand eines Beispiels mit Prüfungsanmeldungen. Die Tabelle listet pro Modul die Anzahl der Anmeldung und in einer weiteren Spalte die Anzahl der Studierenden, welche zu ihrem dritten Prüfungsversuch antreten. Die Werte der letzten Spalte mit den Drittversuchen wird verlinkt:

Links in Ergebnistabelle
 

Nach Klick auf einen der Links erscheint eine weitere Tabelle, welche statt der Anzahl die einzelnen Matrikelnummern inklusive Studiengang ausgibt:

Detailansicht
 


In diesem Falle fungieren die Werte der Spalte drittversuch als Link. Um dies umzusetzen geben wir eine weitere Spalte hidden_drittversuch aus. Durch hidden wird diese nicht dargestellt und _drittversuch dient als Referenz auf die Spalte drittversuch. Die Spalte hidden_drittversuch enthält den Teil der URL, welcher die Parameter beim Maskenaufruf definiert. Das sieht beispielsweise so aus:

'?tid=30610360&Prüfungskurztext='||pktxt||'&&cachingcontrol=clearmask' as hidden_drittversuch

'||pktxt||' wird ersetzt durch den Wert des Feldes pktxt derselben Zeile:

select
pktxt,
pdtxt,
(case when pstatus='AN' then 1 else 0 end) as anmeldung,
(case when pversuch=3 then 1 else 0 end) as drittversuch,
'?tid=30610360&Prüfungskurztext='||pktxt||'&&cachingcontrol=clearmask' as hidden_drittversuch
into temp tmp_ergebnis

Werden beim Maskenaufruf der Detailansicht weitere Felder benötigt, wird für diese eine Variable angelegt:

#assign stg=""/>
<#if "<"!=""<#assign stg="&Studiengang=<"?replace("'","")?replace("|",",")/

So ist gewährleistet, dass der Parameter nicht in die URL übernommen wird, falls das Maskenfeld leer ist. Zudem werden einfache Hochkommata ' und Pipes | ersetzt, um zugewährleisten, dass die URL funktioniert. Einfache Hochkommata ' könnten beispielsweise bei Schlüsseln, welche als charakter definiert sind übergeben werden und Pipes | bei Aufzählungen. Die Variable wird in den select der Spalte hidden_drittversuch eingebunden:

'?tid=30610360&Prüfungskurztext='||pktxt||'${stg}&&cachingcontrol=clearmask' as hidden_drittversuch

Sonderfall: Falls eine Maske in einem Link auf sich selbst verweist wird empfohlen statt der Maskennummer die automatisch gefüllte Freemarker-Variable ${Maskennummer} zu benutzen:

'?tid=${Maskennummer}&Prüfungskurztext='||pktxt||'${stg}&&cachingcontrol=clearmask' as hidden_drittversuch

Hintergrund: Falls man eine Kopie des entsprechenden Berichtes angelegt hat, um diesen mit eingeschränkten Funktionen (bspw. für User mit eingeschränkten Rechten) bereitzustellen, bietet sich die sximport-Funktion an. Würde dann statt ${Maskennummer} die tid verwandt, so würde der Link in der Berichtskopie auf den Hauptbericht verweisen, was für User mit eingeschränkten Rechten nicht erwünscht ist.