4D v15

Listbox: Spalten mit dynamischen Variablen erstellen

Home

 
4D v15
Listbox: Spalten mit dynamischen Variablen erstellen

Listbox: Spalten mit dynamischen Variablen erstellen  


 

 

Eingeführt mit 4D v14 R3

Ein neues Feature in 4D ermöglicht, neue Spalten mit dynamischen Variablen in Echtzeit ein- oder anzufügen. Damit verwaltet 4D die erforderlichen Defininitionen der Variablen (Spalte, Fußteil und Kopfteil) automatisch.

Als Folge davon wurden drei 4D Befehle aktualisiert:

  • LISTBOX INSERT COLUMN
  • LISTBOX INSERT COLUMN FORMULA
  • LISTBOX DUPLICATE COLUMN

Die Syntax dieser drei Befehle wurde aktualisiert, um die dynamische Erstellung der Variablen zu verwalten.

 

LISTBOX INSERT COLUMN ( {* ;} Objekt ; SpaltePos ; SpalteName ; SpalteVariable ; KopfName ; KopfVar {; FußName ; FußVar} )
LISTBOX INSERT COLUMN FORMULA ( {* ;} Objekt ; SpaltePos ; SpalteName ; Formel ; DatenTyp ; KopfName ; KopfVar {; FußName ; FußVar} )
LISTBOX DUPLICATE COLUMN ( {* ;} Objekt ; SpaltePos ; SpalteName ; SpalteVariable ; KopfName ; KopfVar {; FußName ; FußVar} )

ParameterTypBeschreibung    
...
SpalteVariableArray, Feld, Variable, Zeiger Nil->Arrayname Spalte oder Feld oder Variable    
KopfVar Variable Zahl oder Zeiger Nil->Spaltenkopfteil Variable
...
FußVarVariable oder Zeiger Nil->Spaltenfußteil Variable

 

Diese Befehle akzeptieren jetzt einen Zeiger Nil (->[]) als Wert für die Parameter SpalteVariable (falls zutreffend), KopfVar und FußVar. In diesem Fall erstellt 4D beim Ausführen der Befehle die erforderlichen Variablen dynamisch. Weitere Informationen dazu finden Sie im Abschnitt "Dynamische Variablen" im Handbuch 4D Programmiersprache.

Beachten Sie, dass Variablen für Kopfteil bzw. Fußteil immer mit einem bestimmten Typ erstellt werden (jeweils Lange Ganzzahl und Text). Dagegen lässt sich der Typ der Spaltenvariable nicht beim Erstellen definieren, da die Listbox für diese Variable verschiedene Arraytypen erlaubt (Array Text, Array Ganzzahl, etc.). Deshalb müssen Sie den Arraytyp manuell setzen. Zum Beispiel:

 C_POINTER($NilPtr)
 LISTBOX INSERT COLUMN(*;"MyListBox";1;"MyNewColumn";$NilPtr;"MyNewHeader";$NilPtr)
 ColPtr:=OBJECT Get pointer(Object named;"MyNewColumn")
 ARRAY TEXT(ColPtr->;0) // 0 durch einen positiven Wert ersetzen, um Elemente im Array vorab zuzuweisen

Es ist wichtig, den Arraytyp vor dem Verwenden von Befehlen wie LISTBOX INSERT ROWS zu setzen, um neue Elemente in das Array einzufügen. Alternativ lässt sich auch der Befehl APPEND TO ARRAY verwenden, um gleichzeitig den Arraytyp zu setzen und das Einfügen von Elementen zu starten.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Programmiersprache

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D v15 - Upgrade (Standard Edition) ( 4D v15)