Tipps & Tricks - Bedingte Anzeige
In diesem Beitrag erfahren Sie, wie eine
Schaltfläche in eine
Frei gestaltete Tabelle
integriert und dort abhängig von einem Datum durch die
bedingte Anzeige
ein- bzw. ausgeblendet wird.
Applikation erstellen
Erstellen Sie eine Applikation
mit der
Vorlage Basisapplikation.
Auf der Eingabeseite wird ein
Eingabefeld
mit dem
Kontrolltyp Datum
angelegt. Während Sie sich noch auf der Eingabeseite befinden, erstellen Sie eine Ansichtsseite über das
Hauptmenü Neu / Ansichtsseite mit Elementen.
Diese Ansichtsseite mit dem Namen
Details Termin wird später in eine
Frei gestaltete Tabelle
eingebunden. Damit die Darstellung in der Tabelle nicht zuviel Platz pro Zeile einnimmt,
haben wir die Titel der Ansichtsfelder Datum und Titel entfernt und die beiden Ansichtsfelder
einzeilig angeordnet. Außerdem wurde eine Schaltfläche mit dem
Schaltflächentyp Text und dem
Titel
Bearbeiten angelegt.
Aktivieren Sie die
Optionen für Experten.
Öffnen Sie dann den
Eigenschaftendialog der Schaltfläche und klicken
Sie auf dem Reiter
Allgemein auf
Optionen. Aktivieren Sie die bedingte Anzeige und öffnen Sie den Velocity-Editor mit Klick auf
Bedingung bearbeiten. Tragen Sie dort das folgende Skript ein.
## Initialisieren des CalHelpers
$CalHelper.init($Request)
## Schaltfläche per default nicht anzeigen
#set($show_buttoncontrol5776AA58 = false)
## Zeitzone des angemeldeten Users ermitteln
#set($TZ = $User.getTimeZone())
## Aktuelles Datum ermitteln
#set($Now = $CalHelper.getNowCalendar($TZ))
## Wert aus Datensatz (Ansichtskontrolle auf Seite) auslesen innerhalb der Tabellenstruktur der Übersichtsseite
#set($To = $drRecord.getValueHolder("datecontrol2AEFE7BE").getValue())
## Vergleich der Datumswerte. Achtung auf CalenderObjekt muss getTime()
## zweimal ausgeführt werden, um ms-Wert zu bekommen!
#if($Now.getTime().getTime() < $To.getTime())
#set($show_buttoncontrol5776AA58 = true)
#end
Ersetzen Sie buttoncontrol5776AA58 mit dem Namen Ihrer Schaltfläche und datecontrol2AEFE7BE
mit dem Namen Ihres Datums-Ansichtsfeldes. Beide Namen können im Editor im Bereich
Applikationsstruktur
ermittelt werden.
Wechseln Sie dann auf die Seite
Alle Einträge. Entfernen Sie die
Ansichtstabelle, die sich dort befindet, und legen Sie statt dessen eine
Frei gestaltete Tabelle an.
Öffnen Sie den
Eigenschaftendialog der Tabelle.
Binden Sie auf dem
Reiter Daten
die Ansichtsseite
Details Termin ein. Schließen Sie den Eigenschaftendialog mit
Klick auf OK und speichern Sie die Applikation. Öffnen Sie das Portal und die Applikation im Browser.
Hier sehen Sie, dass die Bearbeiten-Schaltfläche - wie in der bedingten Anzeige vorgegeben - nur bei
den Datensätzen eingeblendet wird, deren eingetragenes Datum größer als das heutige Datum ist.