4D v15

List box, Création de colonnes avec variables dynamiques

Accueil

 
4D v15
List box, Création de colonnes avec variables dynamiques

List box, Création de colonnes avec variables dynamiques  


 

 

Introduit dans 4D v14 R3

4D vous permet désormais d'ajouter ou d'insérer de nouvelles colonnes de listbox dynamiquement à l'exécution du formulaire. Avec cette nouvelle possibilité, 4D prend automatiquement en charge les définitions de variables nécessaires (colonne, pied et en-tête).

Par conséquent, trois commandes 4D ont été mises à jour :

  • LISTBOX INSERER COLONNE
  • LISTBOX INSERER COLONNE FORMULE
  • LISTBOX DUPLIQUER COLONNE

La syntaxe de ces commandes a évolué afin de prendre en charge la création de variables dynamiques.

 

LISTBOX INSERER COLONNE ( {* ;} objet ; positionCol ; nomCol ; variableCol ; nomEnTête ; variableEntête {; nomPied ; variablePied} )
LISTBOX INSERER COLONNE FORMULE ( {* ;} objet ; positionCol ; nomCol ; formule ; typeDonnées ; nomEnTête ; variableEntête {; nomPied ; variablePied} )
LISTBOX DUPLIQUER COLONNE ( {* ;} objet ; positionCol ; nomCol ; variableCol ; nomEntête ; varEntête {; nomPied ; variablePied} )

ParamètreType   Description    
...
variableColTableau, Champ, Variable, pointeur Nil->Nom de la variable tableau de la colonne ou champ ou variable
variableEntêteVariable entier ou pointeur Nil->Variable d’en-tête de la colonne
...
variablePiedVariable ou pointeur Nil->Variable du pied de la colonne

 

Ces commandes acceptent désormais un pointeur Nil (->[]) comme valeur pour les paramètres variableCol (si applicable), varEntête et varPied. 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 Variables dynamiques dans le manuel Langage de 4D).

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). A l'inverse, les variables de colonne ne peuvent pas être typées à la création car les listbox acceptent différents types de tableaux pour ces variables (tableau texte, tableau entier, etc.). Vous devez donc définir manuellement le type du tableau. Par exemple :

 C_POINTER($NilPtr)
 LISTBOX INSERT COLUMN(*;"MyListBox";1;"MyNewColumn";$NilPtr;"MyNewHeader";$NilPtr)
 ColPtr:=OBJECT Get pointer(Object named;"MyNewColumn")
 ARRAY TEXT(ColPtr->;0) // Remplacez 0 par une valeur positive si vous souhaitez préallouer les éléments du tableau

Il est important d'effectuer ce typage avant d'appeler des commandes telles que LISTBOX INSERT ROWS pour insérer des nouveaux éléments dans le tableau. Ou bien, il est possible d'utiliser APPEND TO ARRAY pour à la fois typer le tableau et insérer des éléments. 

 
PROPRIÉTÉS 

Produit : 4D
Thème : Langage

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D v15 - Mise à jour (édition standard) ( 4D v15)