4D v14.3

PopUp-Menüs, Dropdown-Listen

Home

 
4D v14.3
PopUp-Menüs, Dropdown-Listen

PopUp-Menüs, Dropdown-Listen  


 

Ü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 oder eine Auswahlliste.

Die Namen “PopUp-Menü” und “DropDown-Liste” bezeichnen dasselbe Objekt; PopUp-Menü ist die Bezeichnung auf Mac OS, DropDown-Liste die Bezeichnung unter Windows.

Wie folgendes Beispiel zeigt, ist die Darstellung dieser Objekt je nach Plattform etwas anders: 

Windows
Mac OS

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- 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:

 Case of
    :(Form event=On Load)
       LIST TO ARRAY("Cities";aCities)
       If(Record number([People])<0) `neuer Datensatz
          aCities:=3 `zeigt einen Standardwert an
       Else `Bestehender Datensatz zeigt gespeicherten Wert an
          aCities:=Find in array(aCities;City)
       End if
    :(Form event=On Clicked`Vom Benutzer geänderte Auswahl
       City:=aCities{aCities`Feld erhält neuen Wert
    :(Form event=On Validate)
       City:=aCities{aCities}
    :(Form event=On Unload)
       CLEAR VARIABLE(aCities)
 End case

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 einem Objekt vom Typ PopUp/DropDown-Liste oder rollbarer Bereich unter der Gruppe „Aktion“ in der Eigenschaftenliste die Aktion Gehe zu Seite zuordnen. Ist diese Aktion aktiv, zeigt 4D automatisch die Formularseite, die der Nummer des gewählten Elements in der Liste zugeordnet ist.

Wählt der Benutzer z.B. das 3. Element der Liste, zeigt 4D – sofern vorhanden – Seite 3 des aktuellen Formulars.
Wollen Sie selbst steuern, was beim Auswählen eines Elements passiert, behalten Sie die Standardoption Keine Aktion bei.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Mit aktiven Objekten arbeiten

 
ARTIKELVERWENDUNG

4D Designmodus ( 4D v14 R2)
4D Designmodus ( 4D v14 R3)
4D Designmodus ( 4D v14.3)
4D Designmodus ( 4D v14 R4)

Geerbt von : PopUp-Menüs, Dropdown-Listen und rollbare Bereiche ( 4D v13.4)