Startseite / Vorlagenentwicklung / Regeln / Formulareigenschaften <PROPERTY/> / Eigenschaft DESELECT
Eigenschaft DESELECT
Manipuliert die Auswahl von CHECKBOX und LIST
Die Eigenschaft DESELECT kann zur Manipulation der Auswahl in optionsbasierten Eingabekomponenten-Typen verwendet werden und zwar in:
Mithilfe von DESELECT können gewählte Einträge deaktiviert werden. Dabei ist ein Vergleich mit folgenden Eingabekomponenten-Typen möglich:
Die (Quell-)Eingabekomponente (im folgenden Beispielcode „gadget1“), deren Wert aus CMS_INPUT_CHECKBOX oder CMS_INPUT_LIST entfernt werden soll, wird im Bereich Wertermittlung in der Regeldefinition folgendermaßen angegeben:
<WITH>
<PROPERTY name="VALUE" source="gadget1"/>
</WITH>
Die (Ziel-)Eingabekomponente (im folgenden Beispielcode „gadget2“), aus der ein Eintrag entfernt werden soll, wird über das Attribut DESELECT im Bereich Handlungsanweisung der Regeldefinition folgendermaßen angegeben:
<DO>
<PROPERTY name="DESELECT" source="gadget2"/>
</DO>
Es können nur Werte berücksichtigt werden, die über den Parameter „values“ im Tag <ENTRIES/> (z. B. im Falle von CMS_INPUT_CHECKBOX) für die Eingabekomponente definiert sind.
Soll ein Wert entfernt werden, der nicht in der Wertemenge enthalten ist, wird eine Warnung in der Java-Konsole angezeigt:
Invalid value 'e' for property 'DESELECT'.
Zu weiteren Manipulationsmöglichkeiten siehe auch Eigenschaft SELECT.
Beispiele
Beispiel: Einträge aus einer Liste per Eingabe in eine Text-Komponente entfernen
Mit folgendem einfachen Beispiel können per Eingabe in eine Text-Komponente („st_text“) entsprechende Werte in einer CMS_INPUT_CHECKBOX-Eingabekomponente („st_list“) ausgewählt werden. Dabei sind über das Tag ENTRY in CMS_INPUT_CHECKBOX die Werte a, b, c, d definiert. Alle vier Werte sind im Beispiel initial aktiviert / ausgewählt.
<RULE>
<WITH>
<PROPERTY name="VALUE" source="st_text"/>
</WITH>
<DO>
<PROPERTY name="DESELECT" source="st_list"/>
</DO>
</RULE>
Wird in die Text-Komponente a eingegeben, wird a in der Liste deaktiviert. Wird in die Text-Komponente b eingegeben, wird b in der Liste deaktiviert.
Wird in die Text-Komponente ein Wert eingegeben, der nicht in der Wertemenge der CMS_INPUT_CHECKBOX-Komponente enthalten ist, beispielsweise m, wird eine entsprechende Warnung in der Java-Konsole ausgegeben.
Alternativ kann die Listen-Komponente auch dynamisch mit Werten aus einer Datenbank-Tabelle gefüllt werden (über CMS_INCLUDE_OPTIONS).