4D v16.3Sous-formulaires en liste |
||
|
4D v16.3
Sous-formulaires en liste
Sous-formulaires en liste
Un sous-formulaire en liste est un formulaire provenant d’une autre table qui est affiché dans un formulaire de saisie. Un sous-formulaire en liste vous permet de saisir, visualiser et modifier des données dans d’autres tables. Les sous-formulaires en liste sont généralement utilisés avec les bases de données utilisant des liens de type 1 vers N. Typiquement, un sous-formulaire en liste affiche les enregistrements de la table N liée par un lien automatique de type 1 vers N. Vous pouvez disposer de plusieurs sous-formulaires provenant de différentes tables dans le même formulaire. En revanche, il n’est pas possible de placer deux sous-formulaires appartenant à la même table dans une même page de formulaire. Par exemple, une base de gestion de contacts peut utiliser une instance de sous-formulaire en liste pour afficher tous les contacts d’une société. Bien que les contacts apparaissent dans l’écran général, l’information est en fait stockée dans la table liée. A l’aide d’un lien 1 vers N, la conception de cette base de données rend facile le stockage d’un nombre illimité de contacts pour chacune des sociétés. Avec des liens automatiques, vous pouvez permettre la saisie de données dans la table liée sans programmation. Bien que les sous-formulaires en liste soient généralement associés aux tables N, une instance de sous-formulaire peut afficher des enregistrements de toute autre table de la base de données. Vous pouvez créer un sous-formulaire en liste à l’aide de l’assistant de création de formulaires ou l’ajouter dans un formulaire existant à l’aide de l’éditeur de formulaires. Vous devez avoir créé au préalable le formulaire Liste que vous souhaitez utiliser comme sous-formulaire. Les sous-formulaires en liste peuvent être utilisés pour la saisie de données de deux manières différentes : l’utilisateur peut saisir des données directement dans le sous-formulaire ou effectuer la saisie dans un formulaire d’entrée associé. Dans cette configuration, le formulaire utilisé comme sous-formulaire est appelé Formulaire liste écran. Le formulaire de saisie associé est appelé Formulaire détaillé. ------> Vous pouvez également permettre à l’utilisateur de saisir des données dans le formulaire liste écran : Pour définir un formulaire en liste, vous devez d'abord et créer et configurer le sous-formulaire que vous souhaitez utiliser dans un formulaire parent. Pour plus d’informations sur les formulaires en liste, reportez-vous au chapitre Formulaires de sortie et états. Dans le formulaire parent, créez un objet de type sous-formulaire à l’aide de l’outil Sous-formulaire (variation du dernier bouton) de la barre d’objets. Note : Vous pouvez également effectuer un glisser-déposer depuis la Page Formulaires de l’Explorateur. Dans la Liste des propriétés (thème “Sous-formulaire”), veillez à ce que l'option Sous formulaire liste soit cochée et choisissez la table source dans le menu Source ainsi que le Formulaire liste écran que vous voulez utiliser. Dans le formulaire parent, vous pouvez redimensionner et repositionner le conteneur de sous-formulaire comme vous le souhaitez. Vous pouvez ajouter des boutons personnalisés pour contrôler la saisie de données dans un sous-formulaire. Tout type de bouton — bouton, bouton inversé ou bouton invisible — peut être utilisé. Vous pouvez définir l’action de ces boutons à l’aide du langage (thème Saisie) ou via des Actions standard. 4D propose trois actions standard, permettant de répondre aux besoins élémentaires de gestion des sous-enregistrements : Modifier sous-enregistrement, Supprimer sous-enregistrement et Ajouter sous-enregistrement. Lorsque le formulaire comporte plusieurs instances de sous-formulaires, l’action s’applique au sous-formulaire ayant le focus. Pour plus d’informations sur l’ajout de ces boutons et les actions standard associées, reportez-vous aux sections Boutons et Actions standard. Vous pouvez définir plusieurs propriétés spécifiques relatives aux sous-formulaires en liste. Ces propriétés permettent de contrôler divers automatismes de fonctionnement et les actions utilisateurs autorisées (modes de sélection et de saisie). Ces propriétés sont principalement destinées à une utilisation avec les sous-formulaires en page. Reportez-vous à la section Sous-formulaires en page. Cette propriété permet de définir le type de source pour le sous-formulaire. Dans le cadre des sous-formulaires en liste, choisissez la table à laquelle appartient le sous-formulaire. Cette option permet de désigner un formulaire détaillé à associer au sous-formulaire en liste. Un formulaire détaillé peut être utilisé pour la saisie ou la visualisation des sous-enregistrements. Il présente généralement davantage d’informations que le sous-formulaire en liste. Bien entendu, le formulaire détaillé doit appartenir à la même table que le sous-formulaire. Vous utilisez normalement un formulaire Sortie comme formulaire liste écran et un formulaire Entrée comme formulaire détaillé. Si vous ne spécifiez pas de formulaire pour la saisie en pleine page, 4D utilise automatiquement le format Entrée par défaut de la table. Suivant la configuration du sous-formulaire, l’utilisateur pourra afficher le formulaire détaillé en double-cliquant sur un sous-enregistrement ou en utilisant les commandes d’ajout et de modification des sous-enregistrements. Note : Vous pouvez associer un formulaire détaillé à un sous-formulaire en liste en appuyant sur la touche Maj et en faisant glisser le formulaire détaillé depuis l’Explorateur sur le conteneur de sous-formulaire. Vous pouvez redimensionner comme vous le souhaitez la zone de sous-formulaire dans le formulaire, à l’instar de tout objet de formulaire. Note : Lorsque vous créez une zone de sous-formulaire en faisant glisser directement un formulaire depuis l’Explorateur, 4D définit automatiquement la largeur du sous-formulaire. Les sous-formulaires en liste acceptent trois modes de sélection utilisateur : Aucun, Ligne unique et Multilignes.
Lorsqu’un sous-formulaire liste est Saisissable en liste, l’utilisateur peut modifier les données des sous-enregistrements directement dans la liste, sans devoir passer par le formulaire détaillé associé. Pour cela, il lui suffit de cliquer deux fois sur le champ à modifier afin de le passer en édition (veillez à espacer suffisamment les deux clics afin de ne pas générer de double-clic). Par défaut, ce mode est activé pour tous les sous-formulaires en liste : Lorsque cette option n’est pas cochée, la saisie passe obligatoirement par le formulaire détaillé associé. Vous pouvez paramétrer le fonctionnement des sous-formulaires liste en réponse à un double-clic de l’utilisateur. Dans les bases de données créées avec une ancienne version de 4D, vous pouvez en outre paramétrer la réponse en cas de double-clic sur une ligne vide (option de compatibilité).
Par défaut, l’utilisateur peut supprimer des sous-enregistrements dans un sous-formulaire liste à l’aide de la touche Suppr ou Ret. Arrière. Cette possibilité pouvant gêner le fonctionnement standard de l’interface de certaines applications (basée par exemple sur des boutons), vous pouvez l’interdire à l’aide de l’option Autoriser la suppression. Lorsque cette option est désélectionnée, l’utilisateur ne peut plus supprimer de sous-enregistrement via les touches de suppression du clavier. Une instance de sous-formulaire peut disposer de la propriété Focusable (thème “Saisie”). Lorsqu’une instance de sous-formulaire a le focus, l’utilisateur peut le contrôler à l’aide des touches de navigation, utiliser la commande de menu Tout sélectionner (si la sélection est multilignes), etc. Lorsqu’un sous-formulaire reçoit ou perd le focus, la méthode formulaire du formulaire parent est appelée avec les événements On Getting Focus ou On Losing Focus. Dans ce cas, la commande OBJECT Get pointer (ou la commande Focus object) retourne un pointeur vers la table du sous-formulaire. Comme pour tous les objets focusables, la propriété Cacher rectangle de focus permet de ne pas représenter graphiquement le focus. Comme il peut y avoir plus d’enregistrements que la zone du sous-formulaire ne peut en accueillir, 4D propose trois options (thème “Impression”) pour contrôler l’impression des enregistrements des sous-formulaires :
Voir aussi
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Mode Développement ( 4D v16) |