ORDA – Bessere Auswahl der Zeilen in der Listbox

Wahrscheinlich haben Sie den Befehl LISTBOX SELECT ROW Befehl schon oft verwendet, um in einer Schleife die Zeilen für eine Entity-Auswahl auszuwählen. 4D v18 R3 vereinfacht diesen Prozess mit dem neuen LISTBOX SELECT ROWS Befehl.

HDI: Beispiele zur einfachen Auswahl von Zeilen in einer Listbox

Auswahl einer Entität Listbox

Der neue LISTBOX SELECT ROWS Befehl akzeptiert eine Entitätsauswahl als Parameter. Zeilen, die der Entitätsauswahl entsprechen, können mit nur einer einzigen Codezeile ausgewählt werden. Sie können auch leicht zu den ausgewählten Zeilen hinzugefügt oder aus ihnen entfernt werden.

Beispiel

Der folgende Code erstellt eine Entitätsauswahl von bar zahlenden Kunden und wählt die Zeilen für die Entitätsauswahl in einer Listbox aus:

C_OBJECT($selection)
$selection :=ds.Invoices.query("payment=:1"; "Cash")
LISTBOX SELECT ROWS (*; "Invoices";$selection;lk replace selection)
Hier ist die resultierende Listbox:

Sammlung Listenfeld

Der neue LISTBOX SELECT ROWS Befehl verwendet das gleiche, einfache Prinzip! Übergeben Sie einfach eine Sammlung mit den Objektreferenzen, die Sie auswählen möchten, an den Befehl.

Beispiel

Der folgende Code verwendet die Sammlung Form.payments und wählt die Zeilen für Kunden innerhalb eines bestimmten Zahlungsbereichs aus:

Verwendung der Sammlung Form.payments:

[
 {name:Cash,min:100,max:500},
 {name:Cheque,min:200,max:1200},
 {name:Credit card,min:700,max:1500},
 {name:Gift card,min:800,max:900}
]
C_COLLECTION($collection)
$collection :=Form.payments.query("min <= :1 und max >= :1";250)
LISTBOX SELECT ROWS (*; "Payments";$collection;lk replace selection)

Die resultierende Listbox:

blank

Laden Sie den obigen HDI herunter und sehen Sie im Doc Center nach, um mehr über diesen neuen Befehl zu erfahren.

Avatar
- Product Owner - Marie-Sophie Landrieu-Yvert ist seit 2017 als Product Owner im 4D Produktteam tätig. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Marie-Sophie ist Absolventin der ESIGELEC Ingenieurschule und begann ihre Karriere als Ingenieurin bei IBM im Jahr 1995. Sie nahm an verschiedenen Projekten teil (Wartungs- oder Build-Projekte) und arbeitete als Cobol-Entwicklerin. Dann arbeitete sie als UML-Designerin und Java-Entwicklerin. In letzter Zeit bestand ihre Hauptaufgabe darin, funktionale Anforderungen zu analysieren und zu schreiben sowie Geschäfts- und Entwicklungsteams zu koordinieren.