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
Pop-ups/Listes déroulantes

Pop-ups/Listes déroulantes  


 

 

Nouveauté 4D v19 ! Vous pouvez associer des collections à des pop-up menus/listes déroulantes. Voir developer.4d.com.

Les pop-up/listes déroulantes sont des objets qui permettent à l’utilisateur de sélectionner un élément dans une liste. Vous gérez les éléments qui apparaissent dans les listes déroulantes à l’aide de tableaux, d’énumérations ou d'actions standard. 

Les noms “Pop-up” et “Liste déroulante” désignent le même objet ; “Pop-up” appartient plutôt à la terminologie Mac et “Liste déroulante” à celle de Windows.

Comme le montre l’exemple ci-dessous, l’apparence de ces objets diffère légèrement suivant la plate-forme : 

Windows
macOS

Un tableau est une liste de valeurs gardées en mémoire qui sont référencées par le nom du tableau (cf. section Tableaux et objets de formulaire). Un pop-up/liste déroulante affiche le tableau sous la forme d’une liste de valeurs qui apparaît lorsqu’on clique dessus.

Les objets pop-up/listes déroulantes peuvent être initialisés par le chargement d’une liste de valeurs dans un tableau. Vous pouvez réaliser cette opération de plusieurs manières :

  • Saisir une liste de valeurs par défaut dans les propriétés de l’objet. Pour cela, dans le thème “Sources de données” de la Liste des propriétés, cliquez sur le bouton Edition... Pour plus d’informations sur ce point, reportez-vous au paragraphe Listes de valeurs par défaut. Les valeurs par défaut sont automatiquement chargées dans un tableau. Vous pouvez faire référence à ce tableau par l’intermédiaire du nom de la variable associée à l’objet.
  • Avant que l’objet ne soit affiché, exécutez une méthode qui affecte des valeurs au tableau. Par exemple :
     TABLEAU TEXTE(tVilles;6)
     tVilles{1}:="Bordeaux"
     tVilles{2}:="Lacanau"
     tVilles{3}:="Paris"
     tVilles{4}:="Ste Hélène"
     tVilles{5}:="Cannes"
     tVilles{6}:="Ivry"

    Dans ce cas, le nom de la variable associée à l’objet dans le formulaire doit être tVilles.
    Ce code peut être placé dans la méthode formulaire et être exécuté lorsque l’événement formulaire Sur chargement se produit.
  • Avant que l’objet ne soit affiché, chargez les valeurs d’une énumération dans le tableau à l’aide de la commande LISTE VERS TABLEAU. Par exemple :
     LISTE VERS TABLEAU("Villes";tVilles)

    Dans ce cas également, le nom de la variable associée à l’objet dans le formulaire doit être tVilles.
    Ce code peut être exécuté à la place de celui proposé plus haut.

Si vous voulez stocker dans un champ le choix de l’utilisateur, il est nécessaire d’écrire du code pour affecter les valeurs et de l’exécuter après la validation de l’enregistrement. Ce code pourrait être le suivant :

 Au cas ou
    :(Evenement formulaire code=Sur chargement)
       LISTE VERS TABLEAU("Villes";tVilles)
       Si(Nouvel enregistrement([Personnes]))  `Nouvel enregistrement
          tVilles:=3 `Affichage d’une valeur par défaut
       Sinon  `Enregistrement existant, on affiche la valeur stockée
          tVilles:=Chercher dans tableau(tVilles;Ville)
       Fin de si
    :(Evenement formulaire code=Sur clic)  `La sélection est modifiée
       Ville:=tVilles{tVilles}  `La nouvelle valeur est assignée au champ
    :(Evenement formulaire code=Sur validation)
       Ville:=tVilles{tVilles}
    :(Evenement formulaire code=Sur libération)
       EFFACER VARIABLE(tVilles)
 Fin de cas

Dans la section Evénements des propriétés des objets, vous devez cocher les événements pris en compte dans les Au cas ou de votre code.

Les tableaux contiennent toujours un nombre fini d’éléments. La liste des éléments est dynamique et peut être modifiée par programmation. Les éléments d’un tableau peuvent être modifiés et triés.

Pour plus d’informations sur la création et l’utilisation d’un tableau, reportez-vous au chapitre Tableaux dans le manuel Langage de 4D.

Si vous souhaitez utiliser un pop-up/liste déroulante pour gérer les valeurs d'un champ ou d'une variable énuméré(e), 4D vous permet de référencer directement le champ ou la variable comme source de données de l'objet. Cette possibilité facilite la gestion des champs/variables énuméré(e)s.

Note : Si vous utilisez une énumération hiérarchique, seul le premier niveau sera affiché et sélectionnable.

Par exemple, dans le cas d’un champ "Couleur" pouvant contenir uniquement les valeurs "Blanc", "Bleu", "Vert" ou "Rouge", vous pouvez créer une liste contenant ces valeurs et l’associer à un objet pop up menu qui référence le champ "Couleur". 4D se charge alors de gérer automatiquement la saisie et l’affichage de la valeur courante dans le formulaire.

Pour associer un popup/liste déroulante à un champ ou une variable énuméré(e), il suffit de saisir directement le nom du champ ou de la variable dans la zone Nom de la variable de l’objet :

A l’exécution du formulaire, 4D gère automatiquement le pop up menu ou la combo box en saisie ou à l’affichage : lorsque l’utilisateur choisit une valeur, elle est stockée dans le champ ; à l’affichage, la valeur du champ est affichée dans le pop up menu :

Note : Il n'est pas possible de mixer ce principe avec l'initialisation de l'objet à l'aide d'un tableau. Si vous saisissez un nom de champ dans la zone Nom de la variable, il est nécessaire d'utiliser une énumération.

Lorsque vous avez associé un objet pop-up/liste déroulante à une liste de choix (énumération) et à un champ, vous pouvez utiliser l'option Enregistrer comme Valeur/Référence dans le thème "Sources de données" de la Liste des propriétés.

Cette option permet d'optimiser la taille des données stockées. Pour plus d'informations, reportez-vous à la section Enregistrer comme Valeur ou Référence.

Vous pouvez assigner une action standard à un objet pop up menu/liste déroulante (thème “Action” de la Liste des propriétés). Seules les actions qui affichent une sous-liste d'éléments (à l'exception de l'action Aller à page) sont prises en charge par ce type d'objet. Par exemple, si vous sélectionnez l'action standard "backgroundColor", à l'exécution l'objet affichera une liste automatique de couleurs de fond. Vous pouvez remplacer cette liste automatique par une liste personnalisée en associant à l'objet une énumération dans laquelle chaque élément a lui-même été assigné à une action standard.

Pour plus d'informations, reportez-vous à la section Actions standard.

 
PROPRIÉTÉS 

Produit : 4D
Thème : Travailler avec les objets actifs
Nom intl. : Pop-up Menus/Drop-down Lists

 
PAGE CONTENTS 
 
HISTORIQUE 

Modifié : 4D v16 R4

 
UTILISATION DE L'ARTICLE

4D - Mode Développement ( 4D v20 R7)