Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
4D View Pro Formularereignisse
|
Standardmäßige 4D Ereignisse (siehe unter Form event code) | Spezifische 4D View Pro Ereignisse |
On Load | On VP Ready |
On Getting Focus | On Clicked |
On Losing Focus | On Double Clicked |
On Unload | On Header Click |
On After Edit | |
On Selection Change | |
On Column Resize | |
On Row Resize | |
Jeder Code zum Initialisieren des 4D View Pro Bereichs, zum Laden oder Lesen von Werten im Bereich, muss im Formularereignis On VP Ready des Bereichs liegen. Form event code wird ausgelöst, sobald das Laden des Bereichs vollständig ist. Durch Testen dieses Ereignisses stellen Sie sicher, dass der Code in einem gültigen Kontext ausgeführt wird. Wird ein 4D View Pro Befehl aufgerufen, bevor das Formularereignis On VP Ready generiert ist, wird ein Fehler zurückgegeben.
Hinweis: 4D View Pro Bereiche werden asynchron in 4D Formulare geladen, d.h. das standardmäßige Formularereignis On load lässt sich nicht für den Code zum Initialisieren von 4D View Pro verwenden, da dieses u.U. ausgeführt wird, bevor das Laden des Bereichs abgeschlossen ist. On VP Ready wird immer nach On load generiert.
Klicken an beliebiger Stelle in einem 4D View Pro Dokument generiert das Ereignis On Clicked. Das vom Befehl FORM Event zurückgegebene Objekt enthält folgendes:
Eigenschaft | Typ | Beschreibung |
code | Lange Ganzzahl | On Clicked |
description | Text | "On Clicked" |
objectName | Text | Name des 4D View Pro Bereichs |
sheetName | Text | Name des Arbeitsblatts |
range | Objekt | Zellen-Range |
Beispiel:
If(FORM Event.code=On Clicked)
VP SET CELL STYLE(FORM Event.range;New object("backColor";"green"))
End if
Doppelklickt ein Benutzer an beliebiger Stelle in einem 4D View Pro Dokument, wird das Ereignis On Double Clickedgeneriert. Das vom Befehl FORM Event zurückgegebene Objekt enthält folgendes:
Eigenschaft | Typ | Beschreibung |
code | Lange Ganzzahl | On Double Clicked |
description | Text | "On Double Clicked" |
objectName | Text | Name des 4D View Pro Bereichs |
sheetName | Text | Name des Arbeitsblatts |
range | Objekt | Zellen-Range |
Beispiel:
If(FORM Event.code=On Double Clicked)
$value:=VP Get value(FORM Event.range)
End if
Klickt ein Benutzer in den Kopfteil einer Spalte oder Zeile in einem 4D View Pro Dokument, wird das Ereignis On Header Click generiert. Das vom Befehl FORM Event zurückgegebene Objekt enthält folgendes:
Eigenschaft | Typ | Beschreibung |
code | Lange Ganzzahl | On Header Click |
description | Text | "On Header Click" |
objectName | Text | Name des 4D View Pro Bereichs |
sheetName | Text | Name des Arbeitsblatts |
range | Objekt | Zellen-Range |
sheetArea | Lange Ganzzahl | Stelle im Arbeitsblatt, wo das Ereignis stattgefunden hat: |
Beispiel:
If(FORM Event.code=On Header Click)
Case of
:(FORM Event.sheetArea=1)
$values:=VP Get values(FORM Event.range)
:(FORM Event.sheetArea=2)
VP SET CELL STYLE(FORM Event.range;New object("backColor";"gray"))
:(FORM Event.sheetArea=0)
VP SET CELL STYLE(FORM Event.range;New object("borderBottom";New object("color";"#800080";"style";vk line style thick)))
End case
End if
Nach einer Änderung in einem 4D View Pro Dokument wird das Ereignis On After Edit generiert. Das vom Befehl FORM Event zurückgegebene Objekt enthält folgendes:
Eigenschaft | Typ | Beschreibung |
code | Lange Ganzzahl | On After Edit |
description | Text | "On After Edit" |
objectName | Text | Name des 4D View Pro Bereichs |
sheetName | Text | Name des Arbeitsblatts |
action | Text | "editChange", "valueChanged", "DragDropBlock", "DragFillBlock", "formulaChanged", "clipboardPasted" |
Hinweis: Siehe auch unten unter dem Ereignis On VP Range Changed.
Je nach dem Wert der Eigenschaft action enthält das Objekt zusätzliche Eigenschaften:
Bei Bearbeiten von Text gibt es zusätzlich folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung |
range | Objekt | Zellen-Range |
editingText | Variant | Wert aus dem aktuellen Editor |
Bei Ändern von Werten gibt es zusätzlich folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung |
range | Objekt | Zellen-Range |
oldValue | Variant | Wert der Zelle vor Änderung |
newValue | Variant | Wert der Zelle nach Änderung |
Bei Drag-and-Drop Aktionen gibt es zusätzlich folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung |
fromRange | Objekt | Range der Zellen des Quellbereichs (Drag-Aktion) |
toRange | Objekt | Range der Zellen des Zielbereichs (Drop-Position) |
copy | Boolean | Gibt an, ob der Quellbereich kopiert wurde oder nicht |
insert | Boolean | Gibt an, ob der Quellbereich eingefügt wurde oder nicht |
Bei Ziehen von Inhalt zum Füllen angrenzender Zellen gibt es zusätzlich folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung |
fillRange | Objekt | Ausschnitt zum Füllen |
autoFillType | Lange Ganzzahl | Wert zum Füllen |
fillDirection | Lange Ganzzahl | Richtung zum Füllen |
Bei Eingeben von Formeln gibt es zusätzlich folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung |
range | Objekt | Range der Zellen |
formula | Text | Eingegebene Formel |
Bei Übertragen von Inhalt aus der Zwischenablage gibt es zusätzlich folgende Eigenschaften:
Eigenschaft | Typ | Beschreibung | |||||||||
Range | Objekt | Zellen-Range, der den Inhalt aufnimmt | |||||||||
pasteOption | Lange Ganzzahl | Gibt an, was aus der Zwischenablage entnommen wird: | |||||||||
pasteData | Objekt | Daten zum Übertragen aus der Zwischenablage | |||||||||
|
Beispiel zum Ereignis On After Edit :
If(FORM Event.code=On After Edit)
If(FORM Event.action="valueChanged")
ALERT("WARNING: You are currently changing the value from "+String(FORM Event.oldValue)+" to "+String(FORM Event.newValue)+"!")
End if
End if
Das Objekt Ereignis (siehe Befehl FORM Event) könnte so aussehen:
{
"code":45;
"description":"On After Edit";
"objectName":"ViewProArea"
"sheetname":"Sheet1";
"action":"valueChanged";
"range": {area:ViewProArea,ranges:[{column:1,row:2,sheet:1}]};
"oldValue":"The quick brown fox";
"newValue":"jumped over the lazy dog";
}
Bei Ändern der aktuellen Auswahl von Zeilen oder Spalten in einem 4D View Pro Dokument wird das Ereignis On Selection Change generiert. Das vom Befehl FORM Event zurückgegebene Objekt enthält folgendes:
Eigenschaft | Typ | Beschreibung |
code | Lange Ganzzahl | On Selection Change |
description | Text | "On Selection Change" |
objectName | Text | Name des 4D View Pro Bereichs |
sheetName | Text | Name des Arbeitsblatts |
oldSelections | Objekt | Range der Zellen vor der Änderung |
newSelections | Objekt | Range der Zellen nach der Änderung |
Beispiel:
If(FORM Event.code=On Selection Change)
VP SET CELL STYLE(FORM Event.oldSelections;New object("backColor";Null))
VP SET CELL STYLE(FORM Event.newSelections;New object("backColor";"red"))
End if
Ändert ein Benutzer die Breite einer Spalte in einem 4D View Pro Dokument, wird das Ereignis On Column Resize generiert. Das vom Befehl FORM Event zurückgegebene Objekt enthält folgendes:
Eigenschaft | Typ | Beschreibung |
code | Lange Ganzzahl | On Column Resize |
description | Text | "On Column Resize" |
objectName | Text | Name des 4D View Pro Bereichs |
sheetName | Text | Name des Arbeitsblatts |
range | Objekt | Zellen-Range der Spalten mit veränderter Breite |
header | Boolean | Wahr, wenn Kopfteilbereich der Zeilen (erste Spalte) angepasst wurde, sonst falsch |
Beispiel:
If(FORM Event.code=On Column Resize)
VP SET CELL STYLE(FORM Event.range;New object("hAlign";vk horizontal align right))
End if
Ändert ein Benutzer die Höhe eine Zeile in einem 4D View Pro Dokument, wird das Ereignis On Row Resize generiert. Das vom Befehl FORM Event zurückgegebene Objekt enthält folgendes:
Eigenschaft | Typ | Beschreibung |
code | Lange Ganzzahl | On Row Resize |
description | Text | "On Row Resize" |
objectName | Text | Name des 4D View Pro Bereichs |
sheetName | Text | Name des Arbeitsblatts |
range | Objekt | Zellen-Range der Zeilen mit veränderter Höhe |
header | Boolean | Wahr, wenn Kopfteilbereich der Spalten (erste Zeile) angepasst wurde, sonst falsch |
Beispiel:
If(FORM Event.code=On Row Resize)
VP SET CELL STYLE(FORM Event.range;New object("vAlign";vk vertical align top))
End if
Bei einer Änderung innerhalb eines Zellen-Range im 4D View Pro Dokument wird das Ereignis On VP Range Changed erzeugt. Das vom Befehl FORM Event zurückgegebene Objekt enthält folgende Angaben:
Eigenschaft | Typ | Beschreibung |
objectName | Text | Name des 4D View Pro Bereichs |
code | Lange Ganzzahl | On VP Range Changed |
description | Text | "On VP Range Changed" |
sheetName | Text | Name des Arbeitsblatts mit dem Ereignis |
range | Objekt | Zellen Range mit der Änderung |
changedCells | Objekt | Range, dass nur die geänderten Zellen enthält. Es kann auch ein kombinierter Range sein. |
action | Text | Operation, die das Ereignis auslöst:
|
Hinweis: Siehe auch oben unter dem EreignisOn After Edit.
Produkt: 4D
Thema: 4D View Pro Formularereignisse
4D View Pro Handbuch ( 4D v19)