4D View v16

PV ADD DYNAMIC FIELDS

Home

 
4D View v16
PV ADD DYNAMIC FIELDS

PV ADD DYNAMIC FIELDS 


 

PV ADD DYNAMIC FIELDS ( Bereich ; Haupttabelle ; Tabellen ; Felder ; Methoden ) 
Parameter Typ   Beschreibung
Bereich  Lange Ganzzahl in 4D View Bereich
Haupttabelle  Ganzzahl in Nummer Haupttabelle
Tabellen  Array Ganzzahl in Array mit Tabellennummern
Felder  Array Ganzzahl in Array mit Feldnummern
Methoden  Array String in Array mit Callback Methoden

Der Befehl PV ADD DYNAMIC FIELDS fügt in Bereich eine Anzahl von Zeilen ein mit den Werten der Felder der aktuellen Auswahl, definiert durch Tabellen und Felder für die Tabelle Haupttabelle, beginnend mit Zelle A1. Wurden in Bereich bereits dynamische Spalten definiert, wird der neue Block eingefügt ab Zeile 1 der ersten verfügbaren Spalte. Werte der Felder lassen sich direkt in den entsprechenden Zellen von 4D View verändern.

Das Ergebnis wird immer vertikal angezeigt. Das gilt für Spalten und die Array Elemente Tabellen, Felder und Methoden.

Hinweis: Wurde mit dem Befehl PV ADD DYNAMIC FIELDS bereits ein dynamisches Feld in den 4D View Bereich eingefügt, wird es gelöscht und durch die dynamischen Felder ersetzt.

Sie können pro 4D View Bereich immer nur einen dynamischen Teil setzen.

Die Operation kann für jede Spalte ein Array betreffen, das mit einer Haupttabelle verknüpft ist. Die Verknüpfung muss automatisch sein und von der in Haupttabelle definierten Tabelle zum Array mit dem anzuzeigenden Feld gehen. So können Sie im gängigen Beispiel mit Rechnungen und Rechnungszeilen den Inhalt eines Feldes aus einer Tabelle mit Zeilen entnehmen, aber auch ebenso aus einer Tabelle [Rechnungen], die mit einer Auswahl aus der Haupttabelle Rechnungszeilen verknüpft ist.

Jede Callback Methode empfängt sechs Parameter:

$1: Bereich
$2: Spaltennummer
$3: Arraytyp
$4: Zeiger auf dieses Array
$5: Erste Zeile des dynamischen Bereichs
$6: Anzahl Zeilen, die im Bereich angezeigt werden können

Hinweis: Wollen Sie Ihre Datenbank kompilieren, müssen Sie diese Parameter deklarieren, auch wenn Sie nicht alle davon verwenden.

Der Entwickler füllt das Array mit den Callback Methoden aus. 4D View verwendet dann dieses Array zum Füllen der berechneten Spalte. Es gibt keinen zurückgegebenen Wert ($0).

PV ADD DYNAMIC FIELDS bewahrt eine dynamische Verbindung mit den als Parameter übergebenen Feldern. Folglich werden Änderungen der ausgeführten Werte im 4D View Bereich in Feldern wiedergegeben und umgekehrt.

Hinweise:

  • 4D Methoden und Werte von Feldern müssen im gleichen Prozess wie der 4D View Bereich definiert werden.
  • Die dynamische Datenanpassung ist nicht möglich zwischen Datensätzen, die in 4D Formularen angezeigt werden und dem externem Fenster von 4D View. Dazu müssen Sie das Fenster über den Befehl PV REDRAW neu aufbauen. Über 4D Befehle ausgeführte Änderungen werden automatisch in 4D View Bereichen wiedergegeben.

Dieses Beispiel zeigt eine eingebbare Tabelle innerhalb eines Eingabeformulars. Wir verändern Felder in der Tabelle [Kontakte], die mit dem aktuellen Kunden verknüpft ist mit den dazugehörigen Funktionen (verknüpfte Tabelle) und durch Initialisieren jedes Kontakts (berechnete Spalte).

 ARRAY INTEGER($TablesArray;4) `Tabellennummern
 ARRAY INTEGER($FieldsArray;4) `Feldnummern
 ARRAY TEXT($MethodsArray;4) `Namen Callback Methoden
 
  `Spalte 1: Kontakt Name
 $TablesArray{1}:=Table(->[Contacts])
 $FieldsArray{1}:=Field(->[Contacts]ContactName)
 $MethodsArray{1}:=""
 
  `Spalte 2: Kontakt Vorname
 $TablesArray{2}:=Table(->[Contacts])
 $FieldsArray{2}:=Field(->[Contacts]ContactFirstname)
 $MethodsArray{2}:=""
 
  `Spalte 3: Kontakt Titel (verknüpfte Tabelle)
 $TablesArray{3}:=Table(->[Titles])
 $FieldsArray{3}:=Field(->[Titles]Label)
 $MethodsArray{3}:=""
 
  `Spalte 4: Codenummer/ Gesamt (berechnete Spalte)
 $TablesArray{4}:=0
 $FieldsArray{4}:=Is text `Ergebnis
 $MethodsArray{4}:="CallMethod"
 
 RELATE MANY([Clients]Code) `Erhalte Kontakte
 PV ADD DYNAMIC FIELDS(Bereich;Table(->[Contacts]);$TablesArray;$FieldsArray;$MethodsArray)

Der Code für die Projektmethode CallMethod lautet:

 C_LONGINT($1`4D View Bereich
 C_LONGINT($2`Spaltennummer
 C_LONGINT($3`Typ des Array
 C_POINTER($4`Zeiger auf dieses Array
 C_LONGINT($5`Erste Zeile des dynamischen Bereichs
 C_LONGINT($6`Anzahl zugelassener Zeilen im Bereich
 
 GOTO SELECTED RECORD([Contacts];$5)
 For($i;1;$6)
    $4->{$i}:=Substring([Contacts]ContactFirstname;1;1)+Substring([Contacts]ContactName;1;1)
    NEXT RECORD([Contacts])
 End for



Siehe auch 

PV ADD DYNAMIC ARRAYS
PV CLEAR DYNAMIC COLUMNS
PV FIELD TO CELLS
PV SET CELL FIELD

 
EIGENSCHAFTEN 

Produkt: 4D View
Thema: PV Zellenwerte
Nummer: 15900

 
GESCHICHTE 

Erstellt: 4D View 6.8

 
ARTIKELVERWENDUNG

4D View Programmiersprache ( 4D View v16)