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 v20 R7
This

This 


 

This -> Résultat 
Paramètre Type   Description
Résultat  Objet in Elément ou objet courant

La commande This retourne une référence vers l'objet en cours de traitement.

Cette commande est destinée à une utilisation dans les contextes suivants :

  • une list box associée à une collection ou à une sélection d'entités (entity selection), pendant les événements formulaires On Display Detail ou On Data Change. Dans ce contexte, la commande retourne une référence vers l'élément de collection ou l'entité auquel/à laquelle la list box accède afin d'afficher la ligne courante.
    Note : Si vous utilisez une collection de valeurs scalaires dans une list box, 4D crée un un objet pour chaque élément avec une seule propriété value. La valeur scalaire est alors retournée par l'expression This.value, qui est non-associable.
  • l'exécution d'un objet formule créé par les commandes Formula ou Formula from string. Dans ce contexte, la commande retourne une référence vers l'objet en cours de traitement par la formule. 

Dans tout autre contexte, la commande retourne Null.

Dans les deux contextes où la commande est utilisée, vous accéderez à toutes les propriétés des éléments objet/collection ou tous les attributs d'entités via This.<cheminPropriété>. Par exemple, This.prénom ou This.employeur.nom sont des chemins de propriétés d'objets, d'éléments ou d'entités (attributs) valides.

Vous disposez d'une collection d'objets, chacun ayant la structure suivante :

{  
"ID": 1234
"name": "Xavier",  
"revenues": 47300,  
"employees": [  
             "Allan",  
             "Bob", 
             "Charlie"  
            ] 
},{  
"ID": 2563
"name": "Carla",  
"revenues": 55000,  
"isFemale": true
"employees": [  
             "Igor",  
             "Jane"  
            ] 
},...
 

Dans la list box, chaque colonne référence une des propriétés des objets, soit directement (This.name), soit indirectement (This.employees.length), ou encore via une expression (getPicture) qui peut être appelée directement.

La list box est configurée de la manière suivante :

La méthode projet GetPicture est appelée automatiquement dans l'événement formulaire On Display Detail:

  //Méthode GetPicture
 C_PICTURE($0)
 If(This.isFemale)
    $0:=Form.genericFemaleImage
 Else
    $0:=Form.genericMaleImage
 End if

Lorsque le formulaire est exécuté, vous pouvez visualiser le résultat :

Vous souhaitez utiliser des entités de la structure suivante dans une list box :

Vous créez une list box du type "Collection ou entity selection" avec la définition suivante :

A noter que :

  • This.ID, This.Title et This.Date se réfèrent directement aux attributs correspondants dans la dataclass ds.Event.
  • This.meetings est un attribut relationnel (basé sur le nom du lien retour) qui retourne une sélection d'entités de la dataclass ds.Meeting.
  • Form.eventList est la sélection d'entités qui est associée à la list box. Le code d'initialisation peut être placé dans l'événement fomulaire Sur chargement :
     Case of
        :(Form event code=On Load)
           Form.eventList:=ds.Event.all() //retourne une sélection d'entités avec toutes les entités
     End case

Lorsque le formulaire est exécuté, la list box est automatiquement remplie avec la sélection d'entités :

Vous souhaitez utiliser une méthode projet comme formule encapsulée dans un objet :

 C_OBJECT($personnes)
 $personnes:=New object
 $personnes.prénom:="John"
 $personnes.nom:="Smith"
 $personnes.salutation:=Formula(Salutation)
 $s:=$personnes.salutation("bonjour") // retourne "bonjour John Smith"
 $s:=$personnes.salutation("salut") // retourne "salut John Smith"

Avec la méthode projet Salutation :

 C_TEXT($0;$1)
 $0:=$1+" "+This.prénom+" "+This.nom



Voir aussi  

Self
Super

 
PROPRIÉTÉS 

Produit : 4D
Thème : Langage
Numéro : 1470

Commande(s) éligible(s) à l'exécution dans un process préemptif

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D v17
Modifié : 4D v17 R3

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v20 R7)