Neu in 4D v19! Sie können Collections mit Popup-Menüs/Dropdown-Listen verknüpfen. Siehe developer.4d.com.
Über PopUp-Menüs und Dropdown-Listen kann der Benutzer ein Element aus einer Liste auswählen. Sie verwalten die Einträge in einem PopUp-Menü über ein Array, eine Auswahlliste oder eine Standardaktion.
Die Namen “PopUp-Menü” und “DropDown-Liste” bezeichnen dasselbe Objekt; PopUp-Menü ist die Bezeichnung auf macOS, DropDown-Liste die Bezeichnung unter Windows.
Wie folgendes Beispiel zeigt, ist die Darstellung dieser Objekte je nach Plattform etwas anders:
Windows
macOS
Ein Array ist eine Liste von Werten im Speicher, auf die über den Namen des Array verwiesen wird (siehe Handbuch 4D Programmiersprache, Abschnitt Arrays und Formularobjekte). Ein PopUp-Menü bzw. DropDown-Liste zeigt ein Array als Liste mit Werten, wenn Sie darauf klicken.
Sie initialisieren das Objekt durch Laden einer Werteliste in ein Array. Es gibt folgende Möglichkeiten:
- Sie geben in den Objekteigenschaften eine Liste mit Standardwerten ein. Klicken Sie dazu in der Eigenschaftenliste unter der Gruppe „Datenquelle“ auf die Schaltfläche Bearbeiten. Weitere Informationen finden Sie im Abschnitt Liste mit Standardwerten. Die Standardwerte werden automatisch in das Array geladen. Über den Namen der Variablen, die dem Objekt zugeordnet ist, können Sie auf das Array verweisen.
- Sie führen vor der Anzeige des Objekts einen Code aus, der den Array-Elementen Werte zuweist. Ein Beispiel:
ARRAY TEXT(aCities;6)
aCities{1}:="Philadelphia"
aCities{2}:="Pittsburg"
aCities{3}:="Grand Blanc"
aCities{4}:="Bad Axe"
aCities{5}:="Frostbite Falls"
aCities{6}:="Green Bay"
In diesem Fall muss der Name der Variablen für das Objekt im Formular aCities lauten. Dieser Code kann in die Formularmethode eingefügt und ausgeführt werden, wenn das Formularereignis On Load auftritt. - Laden Sie vor Anzeige eines Objekts die Werte einer Liste mit dem 4D Befehl LIST TO ARRAY in das Array. Ein Beispiel:
LIST TO ARRAY("Cities";aCities)
Auch hier muss der Name der Variablen für das Objekt im Formular aCities lauten. Dieser Code kann dann anstelle des oben genannten ausgeführt werden.
Wollen Sie die Auswahl des Benutzers in einem Datenfeld speichern, schreiben Sie einen Code, um die Werte zuzuweisen und führen ihn nach Bestätigen des Datensatzes aus. Die komplette Anweisung könnte folgendermaßen aussehen:
Unter der Gruppe „Ereignisse“ in der Eigenschaftenliste markieren Sie die Ereignisse, die in Ihrer Case-Anweisung berücksichtigt werden.
Arrays enthalten immer eine begrenzte Anzahl an Einträgen. Die Liste der Einträge ist dynamisch und kann durch eine Methode geändert werden. Einträge in einem Array lassen sich ändern und sortieren.
Weitere Informationen zum Erzeugen und Verwenden eines Arrays finden Sie im Kapitel
Arrays im Handbuch
4D Programmiersprache.
Sie können auf ein Feld oder eine Variable direkt als Datenquelle für Objekte vom Typ PopUp/DropDown-Menü oder Combo Boxen (mit zugewiesener Auswahlliste) verweisen. Auf diese Weise lassen sich Felder bwz. Variablen mit Auswahlliste leichter verwalten.
Hinweis: Bei hierarchischen Liste erscheint nur die erste Ebene und nur diese lässt sich auswählen.
Nehmen wir z.B. das Feld "Farbe", für das nur die Werte "Weiß", "Blau", "Grün" oder "Rot" zulässig sind. Dafür erstellen Sie jetzt eine Liste mit diesen Werten und ordnen sie einem Objekt PopUp-Menü zu, das auf das 4D Feld "Farbe" verweist. 4D verwaltet dann die Eingabe und zeigt den aktuellen Wert automatisch im Formular an.
Um einem Feld oder einer Variable ein PopUp-/DropDown-Menü oder eine Combo Box zuzuweisen, geben Sie den Feld- oder Variablennamen direkt in den Bereich Variablenname des Objekts ein:

Beim Ausführen des Formulars verwaltet 4D automatisch das PopUp-Menü oder eine Combo Box während der Eingabe oder Anzeige. Wählt der Benutzer einen Wert, wird er im Feld gesichert; beim Anzeigen des Formulars erscheint dieser Feldwert im PopUp-Menü:

Hinweis: Sie können diese Vorgehensweise nicht mit der Verwendung eines Arrays kombinieren, um das Objekt zu initialisieren. Geben Sie im Bereich Variablename einen Feldnamen ein, müssen Sie eine Auswahlliste verwenden.
Ist das PopUp-Menü bzw. die DropDown-Liste mit einer Auswahlliste und mit einem Feld verbunden, können Sie auch die Option Sichern als Wert/Referenz verwenden und so die Größe der gesicherten Daten optimieren.
Weitere Informationen dazu finden Sie im Abschnitt Als Wert oder Referenz sichern.
Sie können PopUp-Menüs/DropDown-Listen eine Standardaktion zuweisen (Gruppe “Aktion” der Eigenschaftenliste). Diese Objekte unterstützen nur Aktionen, die eine Unterliste mit Einträgen anzeigen (außer die Aktion "Gehe zu Seite"). Wählen Sie z.B. die Standardaktion "backgroundColor", zeigt das Objekt in Echtzeit eine automatische Liste mit Hintergrundfarben. Sie können diese automatische Liste überschreiben, indem Sie zusätzlich eine Auswahlliste zuweisen, in der jedem Eintrag eine eigene Standardaktion zugewiesen ist.
Weitere Informationen dazu finden Sie im Abschnitt Standardaktionen.