Lade...
 

FillObox

FillObox

FillObox(windowID, oboxID), FillObox(, oboxID), FillObox

Parameter:  Bezeichner eines Windows und einer Objektbox

Diese Operation füllt Elemente in ein Listen-Widget ein. Dabei wird nicht geprüft, ob die Elemente bereits in dem Widget enthalten sind. Falls vor dem Einfügen eine Sortierung für die Liste definiert wurde (SetSort & Sort), dann werden die neuen Elemente ebenfalls sortiert in die Liste eingefügt.
Aus Performancegründen werden beim Einfügen von ganzen Collections oder Vektoren die Elemente unsortiert in die Liste eingefügt und die Liste anschließend durch sortiert und beim Einfügen von einzelnen Element werden die Elemente sortiert eingefügt.

Beim Einfügen von vielen Objekten in einer Iterate-Schleife ist es von der Performance her immer sinnvoller, die Objekte in einer Collection/Vektor aufzusammeln und anschließend FillObox mit der Collection/Vektor aufzurufen, anstatt innerhalb des Iterates FillObox mit den einzelnen Objekten aufzurufen. Die zweite Variante ist bei mehreren tausend Objekten (je nach Use-Case) gut 20 mal schneller, da beim Einfügen einer gesamten Collection das System auch mehr Spielraum für Optimierungen in Form von Caching hat und vorher weiß, wie viele Elemente eingefügt werden.

Die Auswertung der Formate der befüllten ObjectBox geschieht in Normalfall synchron in dem Aufruf von FillObox. Die Ausnahme dazu stellt die ObjectListView, die Formate erst dann (asynchron) auswertet, wenn die Zeilen sichtbar werden (z.B durchs Scrollen). Aufgrund der asynchronen Auswertung sollte darauf geachtet werden, dass sich ListView-Formate nicht auf einen Systemzustand (Plug-Space, Einheitentabellen) verlassen, wie er zum Zeitpunkt von FillObox gesetzt war. Die synchrone Auswertung der ListView kann per RetrieveData (nach FillObox) erzwungen werden.

 

Aufrufformen

Stack
Stack   Beschreibung
Stack(In)   eine Collection
Stack(Out)   -

Ausgewählte Daten jedes in der Collection enthaltenen Objekts erscheinen als Listbox-Eintrag (Beispiel), sofern Parameter für die Klasse dieses Objekts existieren (siehe SetFormat). Die Reihenfolge der Listbox-Zeilen kann mit SetSort bestimmt werden.

Stack
Stack Position Beschreibung
Stack(In) Top Indexpfad
  Top-1 eine Collection
Stack(Out) Top TRUE oder FALSE

Hier wird die Sortierfolge in der Listbox über einen Indexpfad bestimmt, der mit Anweisung IndexPath auf den Stack-Top gebracht wird (Beispiel).

Stack
Stack   Beschreibung
Stack(In)   ein Objekt
Stack(Out)   -

Ausgewählte Daten des auf dem Stack liegenden Objekts erscheinen als Listbox-Eintrag (Beispiel), sofern Parameter für die Klasse dieses Objekts existieren (siehe SetFormat).
Das gilt auch für Objekte mit Collection-Eigenschaften (CX_QSORT, CX_SUM_AMOUNT, CX_VECTOR_AMOUNT, CX_WIDGET, ...). Nur wenn keine Darstellungsparameter für diese Klasse existieren, werden die Elemente der genannten Objekte dargestellt (Beispiel).

Stack
Stack Position Beschreibung
Stack(In) Top ]
  Top-1 Objekt On
  Top-2 Objekt On-1
  . . . . . .
  Top-n Objekt O1
  Top-n-1 [
Stack(Out)   -

Ausgewählte Daten der auf dem Stack liegenden Objekte erscheinen als Listbox-Eintrag (Beispiel), sofern Parameter für die Klasse dieses Objekts existieren (siehe SetFormat).

Hinweis: Mit dieser Form können in einer Objektbox selektierte Objekte in einer weiteren Objektbox gezeigt werden (Beispiel).
Nur gültige Objekte werden aufgenommen, es sei denn, die Gültigkeitsprüfung ist ausgeschaltet oder das Flag LIST_INVALID ist gesetzt.
Interaktiv ausgewählte Objekte erhält man mit GetObject Die Anzahl der im Moment von einer Objektbox dargestellten Objekte kann mit Cardinality abgefragt werden.