4D v16.3

Utiliser l'héritage de formulaire

Accueil

 
4D v16.3
Utiliser l'héritage de formulaire

Utiliser l'héritage de formulaire  


 

 

4D vous permet d’utiliser des “formulaires hérités”. Le principe de cette fonction consiste à pouvoir utiliser dans un formulaire B tous les objets d’un formulaire A : le formulaire B “hérite” des objets du formulaire A. 

Supposons par exemple que tous les formulaires de saisie d’une base doivent contenir les boutons OK, Annuler, Suivant et Précédent ainsi qu’un logo. Il vous suffit de créer un formulaire ne contenant que ces éléments, puis de l’appeler en tant que formulaire hérité dans tous les formulaires de saisie de la base. Chaque formulaire de saisie ne contient que les champs et objets spécifiques à son utilisation.

A la différence des “modèles” de formulaires définis à l’aide de l’assistant de création de formulaires (cf. paragraphe Créer un modèle de formulaire), la référence au formulaire hérité est toujours active : si un élément du formulaire hérité est modifié (par exemple le style des boutons), tous les formulaires qui l’utilisent seront automatiquement modifiés.

L'héritage de formulaire est compatible avec les formulaires table et les formulaires projet.

Lors de l’utilisation de la base, les objets du formulaire hérité sont combinés dynamiquement à ceux du formulaire ouvert. Ce mécanisme est très proche de celui de la “page zéro” des formulaires, à la différence qu’il peut s’appliquer à l’ensemble des formulaires de la base. 

A l’exécution du formulaire, les objets sont chargés et combinés dans l’ordre suivant :

  1. Page zéro du formulaire hérité
  2. Page 1 du formulaire hérité
  3. Page zéro du formulaire ouvert
  4. Page courante du formulaire ouvert.

Cet ordre détermine l’ordre de saisie des objets dans le formulaire.

Note : Seules les pages 0 et 1 du formulaire hérité peuvent apparaître dans les autres formulaires. 

Les propriétés (nom de la fenêtre, redimensionnement, événements, etc.) ainsi que la méthode d’un formulaire hérité ne sont pas prises en compte lorsque celui-ci est utilisé comme formulaire hérité. En revanche, les méthodes des objets qu’il contient sont appelées.

L’héritage d’un formulaire s’effectue à partir de l’éditeur de formulaires de 4D. 

Pour définir un formulaire hérité :

  1. Dans l’éditeur de formulaires, ouvrez le formulaire devant hériter d’un autre formulaire.
  2. Affichez les propriétés du formulaire dans la Liste des propriétés.
    Les listes “Table du formulaire hérité” et “Nom du formulaire hérité” sont alors disponibles. Toutes les tables de la base et leurs formulaires sont affichés. Le libellé <Aucun> permet d'accéder aux formulaires projet.
  3. Sélectionnez la table puis le nom du formulaire duquel hériter. Pour hériter d'un formulaire projet, sélectionnez <Aucun> dans la liste “Table du formulaire hérité”.

Tout formulaire peut être désigné comme formulaire hérité. Toutefois, les éléments qu’il contient doivent être compatibles avec une utilisation dans différentes tables de la base.

Dès qu’un formulaire hérité est sélectionné, son contenu apparaît dans la fenêtre d’édition du formulaire courant. Il s’agit d’une prévisualisation, il n’est pas possible de sélectionner ni de modifier un objet de ce formulaire. Pour cela, vous devez l’ouvrir dans sa propre fenêtre.

Vous pouvez masquer les objets d’un formulaire hérité en désélectionnant l’option Formulaire hérité dans le sous-menu Afficher du menu Formulaire ou du menu contextuel de l’éditeur. 

Pour stopper l’héritage d’un formulaire, choisissez l’option <Aucun> dans la Liste des propriétés.

Note : Il est possible de définir un formulaire hérité dans un formulaire qui servira à son tour de formulaire hérité pour un troisième formulaire. La combinaison des objets s’effectue alors de manière récursive. 4D détecte toutefois les boucles récursives (par exemple si le formulaire [table1]form1 est défini comme formulaire hérité de [table1]form1, c’est-à-dire de lui-même) et interrompt le chaînage des formulaires.

 
PROPRIÉTÉS 

Produit : 4D
Thème : Construction des formulaires

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Mode Développement ( 4D v16)
4D - Mode Développement ( 4D v16.1)
4D - Mode Développement ( 4D v16.3)