Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v19
4D View Pro Formularereignisse

4D View Pro Formularereignisse  


 

In der Eigenschaftenliste sind für 4D View Pro Bereiche folgende Formularereignisse verfügbar:

Einige davon sind standardmäßig für alle aktiven Objekte verfügbar, andere hingegen sind spezifische Formularereignisse für 4D View Pro. Sind sie aktiviert, bieten sie zusätzliche Informationen im Objekt an, das vom Befehl FORM Event zurückgegeben wird. Nachfolgende Liste zeigt die verschiedenen Ereignisse:

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:

EigenschaftTypBeschreibung
codeLange GanzzahlOn Clicked
descriptionText"On Clicked"
objectNameTextName des 4D View Pro Bereichs
sheetNameTextName des Arbeitsblatts
rangeObjektZellen-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:

EigenschaftTypBeschreibung
codeLange GanzzahlOn Double Clicked
descriptionText"On Double Clicked"
objectNameTextName des 4D View Pro Bereichs
sheetNameTextName des Arbeitsblatts
rangeObjektZellen-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:

EigenschaftTypBeschreibung
codeLange GanzzahlOn Header Click
descriptionText"On Header Click"
objectNameTextName des 4D View Pro Bereichs
sheetNameTextName des Arbeitsblatts
rangeObjektZellen-Range
sheetAreaLange GanzzahlStelle im Arbeitsblatt, wo das Ereignis stattgefunden hat:
  • 0: Schnittstelle zwischen Kopfteilen mit Buchstaben und Nummern (im Arbeitsblatt oben links)
  • 1: Kopfteile der Spalte (Bereich mit den Spaltennummern/-buchstaben)
  • 2: Kopfteile der Zeile (Bereich mit den Zeilennummern)
  •  

    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:

    EigenschaftTypBeschreibung
    codeLange GanzzahlOn After Edit
    descriptionText"On After Edit"
    objectNameTextName des 4D View Pro Bereichs
    sheetNameTextName des Arbeitsblatts
    actionText"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:

    EigenschaftTypBeschreibung
    rangeObjektZellen-Range
    editingTextVariantWert aus dem aktuellen Editor

    Bei Ändern von Werten gibt es zusätzlich folgende Eigenschaften: 

    EigenschaftTypBeschreibung
    rangeObjektZellen-Range
    oldValueVariantWert der Zelle vor Änderung
    newValueVariantWert der Zelle nach Änderung

    Bei Drag-and-Drop Aktionen gibt es zusätzlich folgende Eigenschaften:

    EigenschaftTypBeschreibung
    fromRangeObjektRange der Zellen des Quellbereichs (Drag-Aktion)
    toRangeObjektRange der Zellen des Zielbereichs (Drop-Position)
    copyBooleanGibt an, ob der Quellbereich kopiert wurde oder nicht
    insertBooleanGibt an, ob der Quellbereich eingefügt wurde oder nicht

    Bei Ziehen von Inhalt zum Füllen angrenzender Zellen gibt es zusätzlich folgende Eigenschaften:

    EigenschaftTypBeschreibung
    fillRangeObjektAusschnitt zum Füllen 
    autoFillTypeLange GanzzahlWert zum Füllen
  • 0: Zellen werden mit allen Daten gefüllt (Werte, Formatierung und Formeln)
  • 1: Zellen werden automatisch mit sequentiellen Daten gefüllt
  • 2: Zellen werden nur mit Formatierung gefüllt
  • 3: Zellen werden mit Werten ohne Formatierung gefüllt
  • 4: Werte werden aus den Zellen entfernt
  • 5: Zellen werden automatisch gefüllt
  •  
    fillDirectionLange GanzzahlRichtung zum Füllen
  • 0: Zellen links werden gefüllt
  • 1: Zellen rechts werden gefüllt
  • 2: Zellen oben werden gefüllt
  • 3: Zellen unten werden gefüllt
  • Bei Eingeben von Formeln gibt es zusätzlich folgende Eigenschaften:

    EigenschaftTypBeschreibung
    rangeObjektRange der Zellen
    formulaTextEingegebene Formel

    Bei Übertragen von Inhalt aus der Zwischenablage gibt es zusätzlich folgende Eigenschaften:

    EigenschaftTypBeschreibung
    RangeObjektZellen-Range, der den Inhalt aufnimmt
    pasteOptionLange GanzzahlGibt an, was aus der Zwischenablage entnommen wird:
  • 0: Alles wird übertragen (Werte, Formatierung und Formeln)
  • 1: Nur Werte werden übertragen
  • 2: Nur Formatierung wird übertragen
  • 3: Nur Formeln werden übertragen
  • 4: Werte und Formatierung werden übertragen (keine Formeln)
  • 5: Formeln und Formatierung werden übertragen (keine Werte)
  • pasteDataObjektDaten zum Übertragen aus der Zwischenablage

     Eigenschaft  Typ  Beschreibung
    text  Text Text aus der Zwischenablage
    html  Text HTML 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:

    EigenschaftTypBeschreibung
    codeLange GanzzahlOn Selection Change
    descriptionText"On Selection Change"
    objectNameTextName des 4D View Pro Bereichs
    sheetNameTextName des Arbeitsblatts
    oldSelectionsObjektRange der Zellen vor der Änderung 
    newSelectionsObjektRange 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:

    EigenschaftTypBeschreibung
    codeLange GanzzahlOn Column Resize
    descriptionText"On Column Resize"
    objectNameTextName des 4D View Pro Bereichs
    sheetNameTextName des Arbeitsblatts
    rangeObjektZellen-Range der Spalten mit veränderter Breite
    headerBooleanWahr, 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:

    EigenschaftTypBeschreibung
    codeLange GanzzahlOn Row Resize
    descriptionText"On Row Resize"
    objectNameTextName des 4D View Pro Bereichs
    sheetNameTextName des Arbeitsblatts
    rangeObjektZellen-Range der Zeilen mit veränderter Höhe
    headerBooleanWahr, 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:

    EigenschaftTypBeschreibung
    objectNameTextName des 4D View Pro Bereichs
    codeLange GanzzahlOn VP Range Changed
    descriptionText"On VP Range Changed"
    sheetNameTextName des Arbeitsblatts mit dem Ereignis
    rangeObjektZellen Range mit der Änderung
    changedCellsObjektRange, dass nur die geänderten Zellen enthält. Es kann auch ein kombinierter Range sein. 
    actionTextOperation, die das Ereignis auslöst:
    • "clear" - Eine Operation Range-Wert löschen
    • "dragDrop" - Eine Drag-and-Drop Operation
    • "dragFill" - Eine Operation per Drag füllen
    • "evaluateFormula" - Formel in einen angegebenen Zellen-Range setzen
    • "paste" - Eine Operation Einsetzen
    • "setArrayFormula" - Formel in einen angegebenen Zellen-Range setzen
    • "sort" - Einen Zellen-Range sortieren
     

    Hinweis: Siehe auch oben unter dem EreignisOn After Edit

     
    EIGENSCHAFTEN 

    Produkt: 4D
    Thema: 4D View Pro Formularereignisse

     
    SEITENINHALT 
     
    GESCHICHTE 

     
    ARTIKELVERWENDUNG

    4D View Pro Handbuch ( 4D v19)