Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
LISTBOX INSERT COLUMN
|
LISTBOX INSERT COLUMN ( {* ;} Objekt ; SpaltePos ; SpalteName ; SpalteVar ; KopfName ; KopfVar {; FußName ; FußVar} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
* | Operator |
![]() |
Mit *: Objekt ist ein Objektname (String), Ohne *: Objekt ist eine Variable |
|||||
Objekt | Formularobjekt |
![]() |
Mit *: Objektname, Ohne *: Variable | |||||
SpaltePos | Lange Ganzzahl |
![]() |
Setzen der einzufügenden Spalte | |||||
SpalteName | String |
![]() |
Name des Spaltenobjekts | |||||
SpalteVar | Array, Feld, Variable, Nil pointer |
![]() |
Name der Spalte des Array, Feldes oder der Variablen | |||||
KopfName | String |
![]() |
Name des Objekts Spaltentitel | |||||
KopfVar | Variable Ganzzahl, Nil pointer |
![]() |
Variable des Spaltentitels | |||||
FußName | String |
![]() |
Objektname des Spaltenfußteils | |||||
FußVar | Variable, Nil pointer |
![]() |
Variable des Spaltenfußteils | |||||
Der Befehl LISTBOX INSERT COLUMN fügt eine Spalte in die Listbox ein, definiert durch die Parameter Objekt und *.
Mit dem optionalen Parameter * geben Sie an, dass Objekt ein Objektname (String) ist. Ohne diesen Parameter ist Objekt eine Variable. In diesem Fall übergeben Sie keinen String, sondern die Referenz auf eine Variable. Weitere Informationen zu Objektnamen finden Sie im Abschnitt Objekteigenschaften.
Die neue Spalte wird unmittelbar vor der Spalte eingefügt, die im Parameter SpaltePos angegeben ist. Ist SpaltePos größer als die Gesamtanzahl der Spalten, wird sie nach der letzten Spalte angefügt.
In SpalteName und SpalteVar übergeben Sie den Namen des Objekts und die Variable der eingefügten Spalte.
Bei Listboxen, die auf einer Auswahl von Datensätzen basieren, können Sie über LISTBOX INSERT COLUMN einfache Elemente wie Datenfelder oder Variablen einfügen. Zur Verwaltung komplexer Ausdrücke, wie Formeln oder Methoden benötigen Sie den Befehl LISTBOX INSERT COLUMN FORMULA.
Es werden auch Listboxen vom Typ Collection oder Entity-Selection unterstützt. Da der Parameter SpalteName jedoch keine Ausdrücke akzeptiert, müssen Sie zum Zuweisen der Datenquelle den Befehl LISTBOX SET COLUMN FORMULA verwenden. In diesem Fall ist der Befehl LISTBOX INSERT COLUMN FORMULA besser geeignet.
Hinweis: Sie können in derselben Listbox nicht Felder bzw. Variablen (Datenquelle Auswahl) und Arrays (Datenquelle Array) miteinander kombinieren.
In KopfName und KopfVar übergeben Sie den Objektnamen und die Variable für den eingefügten Spaltentitel.
In FußName und FußVar können Sie den Objektnamen und die Variable des Fußteils der eingefügten Spalte übergeben.
Hinweis: Objektnamen müssen in einem Formular einmalig sein. Stellen Sie sicher, dass die in SpalteName, KopfName und FußName übergebenen Namen noch nicht verwendet wurden. Sonst wird die Spalte nicht erstellt und ein Fehler erscheint.
Ab 4D v14 R3 können Sie mit diesem Befehl Spalten dynamisch in Listboxen einfügen, wenn das Formular ausgeführt wird. 4D verwaltet automatisch die Definition der erforderlichen Variablen (Spalten, Fußteil und Kopfteil).
Dazu akzeptiert LISTBOX INSERT COLUMN einen Zeiger Nil (->[]) als Wert für die Parameter SpalteVariable (nur für Listboxen vom Typ Array), KopfVariable und FußVariable. In diesem Fall erstellt 4D beim Ausführen des Befehls die erforderlichen Variablen dynamisch. Weitere Informationen dazu finden Sie im Abschnitt .
Beachten Sie, dass Variablen für Kopf- und Fußteil jeweils mit dem spezifischen Typ Lange Ganzzahl bzw. Text erstellt werden. Im Gegensatz dazu lassen sich Variablen für Spalten nicht beim Erstellen typisieren, da die Listbox für diese Variable verschiedene Arraytypen erlaubt (Array Text, Array Ganzzahl, etc.). Deshalb müssen Sie den Arraytyp manuell setzen (siehe Beispiel 3). Es ist wichtig, den Arraytyp vor 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.
Folgender Code fügt am Ende der Listbox eine Spalte hinzu:
C_LONGINT(HeaderVarName;$Last;RecNum)
ALL RECORDS([Table 1])
$RecNum:=Records in table([Table 1])
ARRAY PICTURE(Picture;$RecNum)
$Last:=LISTBOX Get number of columns(*;"ListBox1")+1
LISTBOX INSERT COLUMN(*;"ListBox1";$Last;"ColumnPicture";Picture;
"HeaderPicture";HeaderVarName)
Folgender Code fügt an die rechte Seite der Listbox eine Spalte hinzu und weist ihr die Werte aus dem Datenfeld [Transport]Fees zu
$last:=LISTBOX Get number of columns(*;"ListBox1")+1
LISTBOX INSERT COLUMN(*;"ListBox1";$last;"FieldCol";[Transport]Fees;"HeaderName";HeaderVar)
Eine Spalte dynamisch in eine Listbox vom Typ Array setzen und ihren Kopfteil definieren:
C_POINTER($NilPtr)
LISTBOX INSERT COLUMN(*;"MyListBox";1;"MyNewColumn";$NilPtr;"MyNewHeader";$NilPtr)
ColPtr:=OBJECT Get pointer(Object named;"MyNewColumn")
ARRAY TEXT(ColPtr->;10)
//Kopfteil definieren
headprt:=OBJECT Get pointer(Object named;"MyNewHeader")
OBJECT SET TITLE(headprt->;"Eingefügter Kopfteil")
Produkt: 4D
Thema: Listbox
Nummer:
829
Geändert: 4D v11 SQL
Umbenannt: 4D v12 (INSERT LISTBOX COLUMN)
Geändert: 4D v13
Geändert: 4D v14 R3
4D Programmiersprache ( 4D v20 R7)