Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v19
Evénements formulaire 4D View Pro

Evénements formulaire 4D View Pro  


 

Les événements formulaire suivants sont disponibles dans la Liste de Propriétés des zones 4D View Pro :

Certains événements sont des événements formulaire standard (disponibles pour tous les objets actifs) et certains sont des événements formulaire 4D View Pro spécifiques. Les événements formulaire 4D View Pro spécifiques fournissent des informations supplémentaires dans l'objet retourné par la commande FORM Event lorsqu'elles sont générées pour les zones 4D View Pro. Le tableau suivant liste les événements standards ainsi que les formulaires événements 4D View Pro spécifiques : 

 

Evénements 4D standard (voir Form event code)Evénements 4D View Pro spécifiques
Sur chargement  Sur VP prêt
Sur gain focus Sur clic
Sur perte focus  Sur double clic
Sur libération  Sur clic entête
 Sur après modification
 Sur nouvelle sélection
 Sur redimensionnement colonne
 Sur redimensionnement ligne

Tout code d'initialisation d'une zone 4D View Pro, pour le chargement ou la lecture de valeurs à partir de la zone ou dans la zone, doit être introduit dans l'événement formulaire Sur VP prêt de la zone. Cet événement formulaire est exécuté une fois que la zone est entièrement chargée. En testant l'événement, vous êtes sûr que le code sera exécuté dans un contexte valide. Une erreur est retournée si une commande 4D View Pro est appelée avant que l'événement Sur VP prêt soit généré.

Note : Les zones 4D View Pro sont chargées de façon asynchrone dans les formulaires 4D. Cela signifie que l'événement formulaire standard Sur chargement ne peut pas être utilisé pour le code d'initialisation de 4D View Pro, car il pourrait être exécuté avant que le chargement de la zone ne soit terminé. Sur VP prêt est toujours généré après Sur chargement.

Si vous cliquez n'importe où dans un document 4D View Pro, l'événement On Clicked est généré. L'objet retourné par la commande FORM Event contient :

 

PropriétéTypeDescription
codeentier longOn Clicked
descriptiontexte"Sur clic"
objectNametextenom de zone 4D View Pro
sheetNametexteNom de la feuille de l'événement
rangeobjetPlage de cellules

 

Exemple :

 If(FORM Event.code=On Clicked)
    VP SET CELL STYLE(FORM Event.range;New object("backColor";"green"))
 End if

Lorsqu'un utilisateur clique n'importe où dans un document 4D View Pro, l'événement On Double Clicked est généré. L'objet retourné par la commande FORM Event contient :

PropriétéTypeDescription
codeentier longOn Double Clicked
descriptiontexte"Sur double clic"
objectNametextenom de zone 4D View Pro
sheetNametexteNom de la feuille de l'événement
rangeobjetPlage de cellules

 

Exemple:

 If(FORM Event.code=On Double Clicked)
    $value:=VP Get value(FORM Event.range)
 End if

Lorsqu'un utilisateur clique sur un en-tête de colonne ou de ligne dans un document 4D View Pro, l'événement On Header Click est généré. L'objet retourné par la commande FORM Event contient :

 

PropriétéTypeDescription
codeentier longOn Header Click
descriptiontexte"Sur clic entête"
objectNametextenom de zone 4D View Pro
sheetNametexteNom de la feuille de l'événement
rangeobjetPlage de cellules
sheetAreaentier longL'emplacement de la feuille dans lequel s'est produit l'événement :
  • 0 : La zone où les en-têtes de lettre et de numéro de colonnes se croisent (zone supérieure gauche de la feuille)
  • 1 : Les en-têtes de colonne (zone indiquant les numéros et lettres de colonnes)
  • 2 :  Les en-têtes de ligne (zone indiquant les numéros de ligne)
  •  

    Exemple:

     If(FORM Event.code=Sur clic entête)
        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

    A la suite de toute modification apportée par l'utilisateur à un document 4D View Pro, l'événement On After Edit est généré. L'objet retourné par la commande FORM Event contient :

    PropriétéTypeDescription
    codeentier longOn After Edit
    descriptiontexte"Sur après modification"
    objectNametextenom de zone 4D View Pro
    sheetNametexteNom de la feuille de l'événement
    actiontexte"editChange", "valueChanged", "DragDropBlock", "DragFillBlock", "formulaChanged", "clipboardPasted"

    Note : Voir également l'événement Sur VP Plage changée.

     

    En fonction de la valeur de la propriété action, l'objet contiendra des propriétés supplémentaires.

    La modification de texte génère les propriétés supplémentaires suivantes :

     

    PropriétéTypeDescription
    rangeobjetPlage de cellules
    editingTextvariantValeur depuis l'éditeur courant

    La modification de valeur(s) génère les propriétés supplémentaires suivantes :

     

    PropriétéTypeDescription
    rangeobjetPlage de cellules
    oldValuevariantValeur de la cellule avant modification
    newValuevariantValeur de la cellule après modification

    Les actions de glisser-déposer génèrent l'intégration des propriétés supplémentaires suivantes :

     

    PropriétéTypeDescription
    fromRangeobjetPlage de la cellule source (glissée)
    toRangeobjetPlage de la cellule cible (déposée)
    copybooléenIndique si la plage source est copiée ou non
    insertbooléenIndique si la plage source est insérée ou non

    Faire glisser le contenu pour remplir les cellules adjacentes génère les propriétés supplémentaires suivantes :

    PropriétéTypeDescription
    fillRangeobjetPlage utilisée pour le remplissage
    autoFillTypeentier longValeur utilisée pour le remplissage. 
  • 0 : Les cellules sont remplies par toutes les données (valeurs, formatage, et formules)
  • 1 : Les cellules sont remplies par des données séquentielles automatiques
  • 2 : Les cellules sont remplies uniquement par du formatage
  • 3 : Les cellules sont remplies par des valeurs mais pas par du formatage
  • 4 : Les valeurs des cellules sont supprimées
  • 5 : Les cellules sont remplies automatiquement
  •  
    fillDirectionentier longDirection du remplissage.
  • 0 : Les cellules de gauche sont remplies
  • 1 : Les cellules de droite sont remplies
  • 2 : Les cellules du haut sont remplies
  • 3: Les cellules du bas sont remplies
  • La saisie de formule(s) génère les propriétés supplémentaires suivantes :

     

    PropriétéTypeDescription
    rangeobjetPlage de cellules
    formulatexteLa formule saisie

    Coller du contenur à partir du presse-papiers génère les propriétés supplémentaires suivantes :

    PropriétéTypeDescription
    rangeobjetPlage de cellules recevant le contenu
    pasteOptionentier longIndique ce qui collé à partir du presse-papiers :
  • 0 : Tout est collé (valeurs, formatage et formules)
  • 1 : Seules les valeurs sont collées
  • 2 : Seul le formatage est collé
  • 3 : Seules les formules sont collées
  • 4 : Les valeurs et le formatage sont collés (pas les formules)
  • 5 : Les formules et le formatage sont collés (pas les valeurs)
  • pasteDataobjetLes données du presse-papiers à coller
     

     Propriété  Type  Description
    text  texte Le texte du presse-papiers
    html  texte Le HTML du presse-papiers

    Exemple  

    Voici un exemple de gestion d'événement On After Edit :

     If(FORM Event.code=On After Edit)
        If(FORM Event.action="valueChanged")
           ALERT("ATTENTION : Vous êtes en train de modifier la valeur de "+String(FORM Evenement.oldValue)+" en "+Chaine(FORM Evenement.newValue)+"!")
        End if
     End if

    L'exemple ci-dessus pourrait générer un objet événement (voir FORM Event) comme ceci :


    {
    "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";
    }

     

    La modification de la sélection courante de lignes ou de colonnes dans un document 4D View Pro génère l'événement On Selection Change. L'objet retourné par la commande FORM Event contient :

     

    PropriétéTypeDescription
    codeentier longOn Selection Change
    descriptiontexte"Sur nouvelle sélection"
    objectNametexteNom de la zone 4D View Pro
    sheetNametexteNom de la feuille de l'événement
    oldSelectionsobjetPlage de cellules avant modification. 
    newSelectionsobjetPlage de cellules après modification

     

    Exemple:

     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

    La modification de la largeur d'une colonne dans un document 4D View Pro document par un utilisateur génère l'événement On Column Resize. L'objet retourné par la commande FORM Event comprend :

     

    PropriétéTypeDescription
    codeentier longOn Column Resize
    descriptiontexte"Sur redimensionnement colonne"
    objectNametexteNom de zone 4D View Pro
    sheetNametexteNom de la feuille de l'événement
    rangeobjetPlage des colonnes dont la largeur a été modifiée
    headerbooléenVrai si la colonne de l'en-tête de la ligne (première colonne) est redimensionnée, sinon faux

     

    Exemple:

     If(FORM Event.code=On Column Resize)
        VP SET CELL STYLE(FORM Event.range;New object("hAlign";vk horizontal align right))
     End if

     

    La modification de la hauteur d'une ligne dans un document 4D View Pro document par un utilisateur génère l'événement On Row Resize. L'objet retourné par la commande FORM Event comprend :

     

    PropriétéTypeDescription
    codeentier longOn Row Resize
    descriptiontexte"Sur redimensionnement ligne"
    objectNametexteNom de zone 4D View Pro
    sheetNametexteNom de la feuille de l'événement
    rangeobjetPlage des lignes dont la hauteur a été modifiée
    headerbooléenVrai si la ligne de l'en-tête de la colonne (première ligne) est redimensionnée, sinon faux

     

    Exemple:

     If(FORM Event.code=On Row Resize)
        VP SET CELL STYLE(FORM Event.range;New object("vAlign";vk vertical align top))
     End if

    Lorsqu'un changement se produit dans une plage de cellules du document 4D View Pro, l'événement On VP Range Changed est généré. L'objet retourné par la commande FORM Event contient :

    PropriétéTypeDescription
    objectNametexteNom de zone 4D View Pro
    codeentier longOn VP Range Changed
    descriptiontexte"Sur VP Plage Changée"
    sheetNametexteNom de la feuille de l'événement
    rangeobjetPlage de cellule de la modification
    changedCellsobjetPlage contenant uniquement les cellules modifiées. Il peut s'agir d'une plage combinée.
    actiontexteLe type d’opération générant l’événement :
    • "clear" - Une opération de valeur de plage claire
    • "dragDrop" - Une opération de glisser-déposer
    • "dragFill" - Une opération de remplissage par glisser
    • "evaluateFormula" - Définir une formule dans une plage de cellules spécifiée
    • "paste" - Une opération de collage
    • "setArrayFormula" - Définir une formule dans une plage de cellules spécifiée
    • "sort" - Trier une plage de cellules
     

     

    Note : Voir également On After Edit

     
    PROPRIÉTÉS 

    Produit : 4D
    Thème : Evénements formulaire 4D View Pro

     
    PAGE CONTENTS 
     
    HISTORIQUE 

     
    UTILISATION DE L'ARTICLE

    4D View Pro ( 4D v19)