Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
LISTBOX INSERER COLONNE FORMULE
|
LISTBOX INSERER COLONNE FORMULE ( {* ;} objet ; positionCol ; nomCol ; formule ; typeDonnées ; nomEnTête ; variableEntête {; nomPied ; variablePied} ) | ||||||||
Paramètre | Type | Description | ||||||
* | Opérateur |
![]() |
Si spécifié, objet est un nom d’objet (chaîne) Si omis, objet est une variable | |||||
objet | Objet de formulaire |
![]() |
Nom d’objet (si * est spécifié) ou Variable (si * est omis) | |||||
positionCol | Entier long |
![]() |
Emplacement de la colonne à insérer | |||||
nomCol | Chaîne |
![]() |
Nom d’objet de la colonne | |||||
formule | Chaîne |
![]() |
Formule 4D associée à la colonne | |||||
typeDonnées | Entier long |
![]() |
Type de résultat de la formule | |||||
nomEnTête | Chaîne |
![]() |
Nom d'objet de l'en-tête de la colonne | |||||
variableEntête | Variable entier, Pointeur nil |
![]() |
Variable d'en-tête de la colonne | |||||
nomPied | Chaîne |
![]() |
Nom d’objet du pied de la colonne | |||||
variablePied | Variable, Pointeur nil |
![]() |
Variable du pied de la colonne | |||||
La commande LISTBOX INSERER COLONNE FORMULE insère une colonne dans la list box désignée par les paramètres objet et * .
La commande LISTBOX INSERER COLONNE FORMULE est semblable à la commande LISTBOX INSERER COLONNE, à la différence près qu’elle permet la saisie d’une formule comme contenu de la colonne.
Ce type de contenu ne peut être utilisé que lorsque la propriété “Source de données” de la list box est Sélection courante, Sélection temporaire ou Collection ou entity selection (pour plus d'informations sur ce point, reportez-vous à la section Gestion programmée des objets de type List box).
Note : Cette commande ne fait rien si elle est appliquée à la première colonne d’une list box affichée en mode hiérarchique.
Si vous passez le paramètre optionnel *, vous indiquez que le paramètre objet est un nom d’objet (une chaîne). Si vous ne passez pas ce paramètre, vous indiquez que le paramètre objet est une variable. Dans ce cas, vous ne passez pas une chaîne mais une référence de variable. Pour plus d'informations sur les noms d’objets, reportez-vous à la section Objets de formulaires.
La nouvelle colonne est insérée juste avant la colonne désignée par le paramètre positionCol. Si le paramètre positionCol est supérieur au nombre total de colonnes, la colonne est ajoutée après la dernière colonne.
Passez dans le paramètre nomCol le nom d’objet de la colonne insérée.
Le paramètre formule peut contenir toute expression valide, soit :
Au moment de l’appel de la commande, la formule est analysée puis exécutée.
Note : Utilisez la commande Nom commande afin de définir des formules indépendantes de la langue de l’application (lorsqu’elles font appel à des commandes 4D).
Le paramètre typeDonnées permet de désigner le type des données issues de l’exécution de la formule. Vous devez passer dans ce paramètre une des constantes du thème Types champs et variables suivantes :
Constante | Type | Valeur |
Est un booléen | Entier long | 6 |
Est un numérique | Entier long | 1 |
Est un texte | Entier long | 2 |
Est une date | Entier long | 4 |
Est une heure | Entier long | 11 |
Est une image | Entier long | 3 |
Si le résultat de la formule ne correspond pas au type de données attendu, une erreur est générée.
Passez dans les paramètres nomEntête et variableEntête le nom d’objet et la variable de l’en-tête de la colonne insérée.
Vous pouvez également passer dans les paramètres nomPied et variablePied le nom d’objet et la variable du pied de la colonne insérée. Si vous omettez le paramètre variablePied, 4D utilisera une variable dynamique.
Note : Les noms d’objets doivent être uniques dans un formulaire. Vous devez veiller à ce que les noms passés dans les paramètres nomCol, nomEntête et nomPied ne soient pas déjà utilisés. Sinon, la colonne n’est pas créée et une erreur est générée.
A compter de 4D v14 R3, vous pouvez utiliser cette commande pour insérer dynamiquement des colonnes dans les list box à l'exécution du formulaire, 4D prenant automatiquement en charge les définitions de variables nécessaires (pied et en-tête).
Pour cela, LISTBOX INSERER COLONNE FORMULE accepte un pointeur Nil (->[]) comme valeur pour les paramètres variableEntête et variablePied. Dans ce cas, 4D va créer dynamiquement les variables requises lors de l'exécution de la commande (pour plus d'informations, reportez-vous à la section ).
A noter que les variables d'en-tête et de pied sont toujours créées avec un type spécifique (respectivement entier long et texte).
Nous souhaitons ajouter une nouvelle colonne à la droite de la list box qui contiendra une formule calculant l’âge de l’employé :
vAge:="Date du jour-[Employés]DateNaissance)\365"
$der:=LISTBOX Lire nombre colonnes(*;"ListBox1")+1
LISTBOX INSERER COLONNE FORMULE(*;"ListBox1";$der;"ColFormule";vAge;Est un numérique;"Age";VarEntete)
Vous voulez ajouter une colonne à une list box de type collection :
//Créer la collection
C_COLLECTION(emps)
emps:=Creer collection(Creer objet("Employee";"John Doe";"JobTitle";"CEO");Creer objet("Employee";"Mary Smith";"JobTitle";"CTO");Creer objet("Employee";"Jane Turner";"JobTitle";"CFO"))
Le contenu de la colonne sera évalué pour chaque élément de la collection et l'expression source This.Employee est utilisée :
A l'exécution :
Pour ajouter une colonne affichant les titres des postes occupés :
LISTBOX INSERER COLONNE FORMULE(*;"EmpLB";2;"2nd Column";"This.JobTitle";Est un texte;"JTHeader";header2)
OBJET FIXER TITRE(header2;"Title")
La colonne est ajoutée à la list box :
Produit : 4D
Thème : List Box
Numéro :
970
Nom intl. : LISTBOX INSERT COLUMN FORMULA
Créé : 4D v11 SQL
Renommé : 4D v12 (INSERER COLONNE FORMULE LISTBOX)
Modifié : 4D v13
Modifié : 4D v14 R3
Modifié : 4D v17
4D - Langage ( 4D v20 R7)