Pour afficher une liste d’enregistrements, une boîte de liste de sélection d’entité est la plus appropriée lorsqu’on utilise la technologie ORDA. 4D v18 R2 vous simplifie la vie avec un nouvel outil permettant de construire facilement des listes de sélection d’entités : List box builder. Qu’est-ce que c’est ? Il s’agit d’une boîte de dialogue simple qui vous permet de configurer votre boîte de liste en quelques étapes rapides (sélectionnez la table et les champs à afficher, saisissez les titres des colonnes et définissez l’ordre des colonnes).
Comment ?
Dans l’éditeur de formulaire, cliquez sur la nouvelle icône pour afficher la boîte de dialogue List box builder.
Ensuite, sélectionnez une table et les champs à afficher dans la zone de liste. L’ordre des champs correspond à l’ordre des colonnes dans la boîte de liste générée (vous pouvez les réordonner par simple glisser-déposer).
Les listes de sélection d’entités nécessitent une expression pour que la sélection d’entités soit affichée. Par défaut, 4D pré-remplit l’expression avec « Form.currentSelection ».
En cliquant sur le bouton Copier, l’expression est copiée avec le code permettant de charger la sélection d’entités complète à partir de la table sélectionnée. L’exemple suivant montre le contenu du presse-papiers de l’expression préremplie et du code supplémentaire :
Form.currentSelection:=ds.Contact.all()
Un dernier clic sur le bouton Build widget et voilà ! La boîte de liste de sélection des entités est générée. Ajoutons un bouton et collons le contenu du presse-papiers dans la méthode objet du bouton.
Une démonstration en direct
Dans cette vidéo de démonstration, nous allons utiliser la base de données « Contacts ». La vidéo montre deux exemples. Dans le premier exemple, nous créons un formulaire avec une liste de sélection d’entités pour afficher toutes les personnes de la table « Contact ».
Dans le second exemple, nous créons deux listes de sélection : « Catégorie » et « Contact ». Lorsqu’un utilisateur clique sur une catégorie, la liste des contacts de cette catégorie s’affiche dans la deuxième zone de liste.