Bis Intrexx Xtreme 4 konnten abhängige Auswahllisten nur über eine direkte Anpassung der application.xml realisiert werden. In der Version 4.5 ist dies jetzt sehr einfach mit Bordmitteln des Applikationsdesigners möglich. Wir zeigen in diesem Werkstattbeitrag, wie einfach sich abhängige Auswahllisten erstellen und einsetzen lassen.

Oft kommt es vor, dass sich zwei oder mehr Auswahllisten auf einer Eingabeseite befinden, die voneinander abhängig sind. Das heißt nach Auswahl eines Eintrags in der ersten Auswahlliste sollen in der zweiten Auswahlliste nur noch ein Teil der insgesamt zur Verfügung stehenden Einträge angezeigt werden. Das erhöht die Übersichtlichkeit und verringert fehlerhafte Eingaben.

Anwendungsfall:

Bei der Eingabe einer Adresse soll das Bundesland und die Stadt eingegeben werden. Um fehlerhafte Eingaben zu vermeiden, bieten Sie beide Eingaben als Auswahlliste an. Sie könnten selbstverständlich beide Auswahllisten unabhängig voneinander anbieten. Da sich jedoch nach der Auswahl des Bundeslandes die Anzahl der in Frage kommenden Städte deutlich verringert, bietet es sich an, die Auswahlliste Stadt so zu konfigurieren, dass sie von der Auswahlliste Bundesland abhängig ist. Das heißt nach Auswahl des Bundeslandes stehen in der Auswahlliste der Stadt nur noch die Städte zur Verfügung, die in diesem Bundesland liegen.

Im Applikationsdesigner gehen Sie dazu wie folgt vor:
Sie legen zwei Datengruppen an, die Datengruppe Bundesländer und die Datengruppe Städte. Die Datengruppe Städte muss der Datengruppe Bundesländer untergeordnet sein. Durch die Unterordnung wird von Intrexx automatisch eine 1:n (Eltern-Kind) Beziehung zwischen den Bundesländern und den Städten erzeugt. Das heißt jedem Bundesland können beliebig viele Städte zugeordnet werden.

Auf der Eingabeseite für eine neue Adresse legen Sie nun zwei Auswahllisten an, eine Auswahlliste für das Bundesland und eine für die Stadt. Die Auswahlliste für das Bundesland legen Sie wie gewohnt an. Legen Sie nun auch wie gewohnt die zweite Auswahlliste für die Stadt an. Danach öffnen Sie die Eigenschaften der Auswahlliste Stadt und fügen über den Reiter Abhängigkeiten die Abhängigkeit hinzu. Im oberen Feld des Dialoges müssen Sie erst die auslösende Kontrolle festlegen. In unserem Fall ist die Eingabe des Bundeslandes die auslösende Kontrolle. Da bei jeder Änderung in der Auswahlliste Bundesland auch die Auswahlliste Stadt aktualisiert werden soll, wählen Sie als Ereignis „onchange“.

Nun benötigen Sie im unteren Feld noch einen Filter, nach dem die Städte in der Auswahlliste Stadt gefiltert werden sollen. Die Datengruppen Bundesländer und Städte sind über den Fremdschlüssel in der Datengruppe Städte miteinander verknüpft. Der Fremdschlüssel (FKLID) enthält die ID des Bundeslandes, dem die Stadt zugeordnet ist. Da nur die Städte angezeigt werden sollen, die in dem ausgewählten Bundesland vorkommen, wird der Fremdschlüssel der Datengruppe Städte mit der LID des gewählten Bundesland verglichen. Vergleichen Sie daher in dem Dialog des Filters das Datenfeld FKLID der Datengruppe Städte mit der LID des gewählten Bundeslandes (Kontrolle Auswahlliste Bundesland - gespeicherter Wert /primary key).

Beim Aufruf der Eingabeseite im Browser werden die Bundesländer und Städte erst unabhängig voneinander angezeigt. Das heißt, wenn noch kein Bundeslandes ausgewählt wurde, werden in der Auswahlliste Stadt alle Städte angezeigt. Wenn dies nicht gewünscht wird, gibt es zwei Möglichkeiten, dies zu umgehen.

  1. Aktivieren Sie bei der Auswahlliste Bundesland die Option „erster Eintrag der Liste leer“ und bei der Auswahlliste Stadt „Auswahlliste initial ohne Einträge anzeigen“
  2. Sie fügen bei den Ereignissen der Abhängigkeiten (Auswahlliste Stadt) noch ein zweite Kontrolle zu. Wählen Sie dort dann die Eingabeseite mit dem Ereignis onload. Dann wird die Auswahlliste Stadt bereits beim Laden der Seite in Abhängigkeit des angezeigten Bundeslandes gefiltert.
United Planet
Intrexx Application Store Presse Downloads
Deutsch