Freigeben über


Auswählen von mehreren Listenelementen

In einer Liste kann standardmäßig nur ein Element ausgewählt werden. Sie können dem Benutzer aber auch die Möglichkeit geben, in der Liste mehrere Elemente zu markieren.

So ermöglichen Sie das Auswählen mehrerer Listenelemente

  • Setzen Sie die MultiSelect-Eigenschaft der Liste auf Wahr (.T.).

Um die markierten Elemente zu verarbeiten, d. h. um sie in ein Array zu kopieren oder an anderer Stelle der Anwendung zu integrieren, müssen die Listenelemente eine Schleife durchlaufen. Diejenigen Elemente, bei denen die Selected-Eigenschaft Wahr (.T.) ergibt, werden weiterverarbeitet. Der folgende Code könnte z. B. in das InteractiveChange-Ereignis eines Listenfeldes eingefügt werden, um die markierten Elemente in einem Kombinationsfeld, cboSelected, und die Anzahl der markierten Elemente in einem Textfeld, txtNoSelected, anzuzeigen:

nNumberSelected = 0  && a variable to track the number
THISFORM.cboSelected.Clear && clear the combo box
FOR nCnt = 1 TO THIS.ListCount
   IF THIS.Selected(nCnt)
      nNumberSelected = nNumberSelected + 1
      THISFORM.cboSelected.Additem (THIS.List(nCnt))
   ENDIF
ENDFOR
THISFORM.txtNoSelected.Value = nNumberSelected

Siehe auch

Erstellen von mehrspaltigen Listenfeldern | Benutzern die Möglichkeit geben, einem Listenfeld Einträge hinzuzufügen | Verwenden von Steuerelementen | Aktualisieren einer auf einem Listenwert basierenden 1:n-Anzeige | Steuerelemente und Objekte