Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
LISTBOX DUPLICATE COLUMN
|
LISTBOX DUPLICATE COLUMN ( {* ;} Objekt ; SpaltePos ; SpalteName ; SpalteVariable ; KopfName ; KopfVariable {; FußName ; FußVariable} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
* | Operator |
![]() |
Mit *: Objekt ist Objektname (String) Ohne *: Objekt ist eine Variable |
|||||
Objekt | Formularobjekt |
![]() |
Objektname (mit *) oder Variable (ohne *) der zu duplizierenden Spalte | |||||
SpaltePos | Lange Ganzzahl |
![]() |
Position der neu duplizierten Spalte | |||||
SpalteName | String |
![]() |
Name der neuen Spalte | |||||
SpalteVariable | Array, Feld, Variable, Nil pointer |
![]() |
Name der Variable Array Spalte oder Feld oder Variable | |||||
KopfName | String |
![]() |
Objektname Spaltenkopfteil | |||||
KopfVariable | Variable Ganzzahl, Nil pointer |
![]() |
Variable Spaltenkopfteil | |||||
FußName | String |
![]() |
Objektname Spaltenfußteil | |||||
FußVariable | Variable, Nil pointer |
![]() |
Variable Spaltenfußteil | |||||
Der Befehl LISTBOX DUPLICATE COLUMN dupliziert per Programmierung im Formular in der Ausführung die Spalte, definiert durch die Parameter Objekt und * (Anwendungsmodus). Das Originalformular, das im Designmodus erstellt wurde, wird nicht verändert.
Hinweis: Diese Funktionalität war bereits im Designmodus von 4D vorhanden, und zwar im Kontextmenü des Formulareditors über den Befehl Spalte duplizieren.
Standardmäßig werden alle Stiloptionen der Ausgangsspalte (Größe, Farbe, Formate, etc.), die über die Eigenschaftenliste oder Befehle zur Objektverwaltung (_o_OBJECT SET COLOR, etc.) gesetzt wurden, auch auf die Kopie angewendet. Auch die Objektmethode und die Einstellungen der Formularereignisse werden duplizieren. Die Datenquelle (Listbox vom Typ Array oder Auswahl) sowie Stil und Farb-Arrays werden dagegen nicht dupliziert. Sie müssen selbst dafür sorgen, dass diese nach dem Duplizieren jeder neuen Spalte zugewiesen wird.
Die Parameter Objekt und * bestimmen die Spalte zum Duplizieren. Mit dem optionalen Parameter * ist Objekt ein Spaltenname (String). Ohne * ist Objekt eine Spaltenvariable. In diesem Fall übergeben Sie eine Variablenreferenz anstelle eines String.
Hinweis: Dieser Befehl führt nichts aus, wenn er auf die erste Spalte einer Listbox im hierarchischen Modus angewandt wird.
Die duplizierte Spalte wird genau vor die Spalte gesetzt, die im Parameter SpaltePosition angegeben ist. Ist SpaltePosition größer als die Gesamtanzahl der Spalten, wird sie nach der letzten Spalte gesetzt.
In den Parametern SpalteName und SpalteVariable übergeben Sie den Objektnamen und die Variable der neuen duplizierten Spalte.
Beachten Sie, dass die Datenquelle der ursprünglichen Spalten nicht dupliziert wird: Sie müssen für die neue duplizierte Spalte ein Quellvariable, Array oder Feld setzen.
In den Parametern KopfteilName und KopfteilVariable übergeben Sie Objektname und Variable für den Kopfteil der neuen duplizierten Spalte.
In den Parametern FußteilName und FußteilVariable können Sie Objektname und Variable für den Fußteil der neuen duplizierten Spalte übergeben. Lassen Sie FußteilVariable weg, verwendet 4D eine dynamische Variable.
Hinweis: Objektnamen im Formular müssen einmalig sein. Sie müssen sicherstellen, dass die Namen in den Parametern SpalteName, KopfteilName und FußteilName noch nicht verwendet wurden. Andernfalls wird die Spalte nicht dupliziert und ein Fehler wird generiert.
Dieser Befehl muss beim Anzeigen eines Formulars verwendet werden. Er wird normalerweise im Ereignis On Load des Formulars oder in Folge einer Benutzeraktion aufgerufen (Ereignis (On Clicked).
Sie können Spalten von Listboxen dynamisch duplizieren und 4D verwaltet automatisch die Definition der erforderlichen Variablen (Spalten, Fußteil und Kopfteil).
Dazu akzeptiert LISTBOX DUPLICATE COLUMN einen Zeiger Nil (->[]) als Wert für die Parameter SpalteVariable (für Listboxen vom Typ Array und Collection/Entity-Selection), 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 immer 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 2). Sie müssen den Arraytyp vor Verwenden von Befehlen wie LISTBOX INSERT ROWS setzen, um neue Elemente in das Array einzufügen. Sie können auch den Befehl APPEND TO ARRAY verwenden, um gleichzeitig den Arraytyp zu setzen und Elemente einzufügen.
In einer Listbox vom Typ Array die Spalte "Vorname" zur Eingabe des 2. Vornamens duplizieren
Der Code der Schaltfläche lautet:
ARRAY TEXT(arrFirstNames2;Records in table([Mitglieder]))
LISTBOX DUPLICATE COLUMN(*;"column2";3;"col2bis";arrFirstNames2;"FirstNameA";vHead2A)
OBJECT SET TITLE(*;"FirstNameA";"2. Vorname")
EDIT ITEM(*;"col2A";0)
Klicken Sie auf die Schaltfläche am unteren Rand, erhalten Sie folgende Listbox:
Eine Spalte vom Typ Boolean duplizieren und ihren Titel ändern:
C_POINTER($ptr)
LISTBOX DUPLICATE COLUMN(*;"boolCol";3;"duplBoolCol";$ptr;"duplBoolHeader";$ptr;"duplBoolFooter";$ptr)
colprt:=OBJECT Get pointer(Object named;"duplBoolCol")
ARRAY BOOLEAN(colprt->;10)
headprt:=OBJECT Get pointer(Object named;"duplBoolHeader")
OBJECT SET TITLE(headprt->;"Neue duplizierte Spalte")
Produkt: 4D
Thema: Listbox
Nummer:
1273
Erstellt: 4D v14
Geändert: 4D v14 R3
Geändert: 4D v17
4D Programmiersprache ( 4D v20 R7)