Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
LISTBOX SELECT ROWS

LISTBOX SELECT ROWS 


 

LISTBOX SELECT ROWS ( {* ;} object ; selection {; action} )  
Parameter Typ   Beschreibung
Operator in Mit Stern: Objekt ist ein Objektname (String)
Ohne Stern: Objekt ist eine Variable
object  Formularobjekt in Objektname (mit *) oder Variable (ohne *)
selection  Objekt, Collection in Objekt oder Collection mit Zeilen zum Auswählen
action  Lange Ganzzahl in lk replace selection (ohne Angabe Standardeinstellung), lk add to selection, lk remove from selection

Der Befehl LISTBOX SELECT ROWS wählt die Zeilen einer Listbox Entity-Selection oder Collection, die den Entities oder Objekten im Parameter selection entsprechen. 

Mit dem optionalen Parameter * geben Sie an, dass der Parameter Objekt ein Objektname (String) ist. Ohne diesen Parameter geben Sie an, dass Objekt eine Variable ist. In diesem Fall übergeben Sie eine Variablenreferenz anstelle eines String. Weitere Informationen dazu finden Sie im Abschnitt Objekteigenschaften.

Im Parameter selection übergeben Sie je nach Art der Listbox ein Object oder eine Collection:

Entity selection list box

Für diese Listbox übergeben Sie ein Objekt Entity-Selection mit Entities von derselben Dataclass wie die Listbox. Ist selection ein Objekt Entity-Selection von einer anderen Dataclass als die Listbox, wird ein Fehler zurückgegeben. 

Collection list box

Für diese Listbox übergeben Sie eine Unter-Collection von Objekten aus dieser Listbox. Bei skalaren Werten übergeben Sie eine Unter-Collection von Werten. 

Hinweise:

  • Ist selection kein gültiges Objekt Entity-Selection bzw. Collection, wird ein Fehler zurückgegeben.
  • Ist selection eine leere Entity-Selection bzw. Collection, werden standardmäßig alle Zeilen der Listbox abgewählt (über die Aktion "replace", siehe unten). Bei anderen Aktionen führt der Befehl nichts aus.
  • Entities / Elemente in der selection, die nicht in der Listbox angezeigt werden, werden ignoriert.  

Mit dem optionalen Parameter action können Sie eine bestimmte Auswahlaktion definieren, wenn in der Listbox bereits eine Zeilenauswahl vorhanden ist. Sie können einen Wert oder eine der folgenden Konstanten unter dem Thema Listbox übergeben:

Konstante Typ Wert Kommentar
lk add to selection Lange Ganzzahl 1 Die ausgewählte Zeile wird der vorhandenen Auswahl hinzugefügt. Gehört die angegebene Zeile bereits zur Auswahl, führt die Konstante nichts aus.
lk remove from selection Lange Ganzzahl 2 Die ausgewählte Zeile wird aus der vorhandenen Auswahl entfernt. Gehört die angegebene Zeile nicht zur Auswahl, führt die Konstante nichts aus.
lk replace selection Lange Ganzzahl 0 Die gewählte Zeile wird zur neuen Auswahl und ersetzt die vorhandene Auswahl. Die Konstante hat dieselbe Wirkung wie Anklicken der Zeile durch den Benutzer (Das Ereignis On Clicked wird dagegen nicht generiert). Dies ist die Standardaktion, d.h. wenn der Parameter Aktion nicht verwendet wird.

Ohne den Parameter action ersetzt der Befehl standardmäßig die im Parameter selection definierte(n) Zeile(n). 

Hinweis: Der Befehl geht davon aus, dass jedes Objekt bzw. jede Entity nur einmal in der Listbox angezeigt wird.

Rechnungen in einer Entity-Selection mit einer einzigen Anfrage an den Server auswählen:

  //Beim Ereignis On Load des Formulars haben wir: Form.invoices:=ds.Invoices.all()
  //Die Listbox "Invoices" zeigt die Entity-Selection Form.invoices an
 
 C_OBJECT($cash)
 C_OBJECT($card)
 
  //Die bar bezahlten Rechnungen auswählen
 $cash:=Form.invoices.query("paymentMethod=:1";"Cash")
 LISTBOX SELECT ROWS(*;"Invoices";$cash;lk replace selection)

Beispiel mit einer Collection von Objekten:

 C_TEXT($name)
 $name:=Request("Enter a name")
 If(OK=1)
  // Form.studentsColl ist eine Collection von Objekten
    $selection:=Form.studentsColl.query("lastname = :1";$name)
    LISTBOX SELECT ROWS(*;"LBStudents";$selection;lk add selection)
 End if



Siehe auch 

LISTBOX SELECT ROW

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Listbox
Nummer: 1715

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v18 R3

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)