Modifiez ou créer un élément, enregistrez un contenu et réinitialisez les contrôles dans un contrôle Edit form.

Description

Ces fonctions sont souvent appelées à partir de la formule OnSelect d’un contrôle Button ou Image, afin que l’utilisateur puisse enregistrer ou abandonner des modifications, ou créer un enregistrement. Vous pouvez utiliser des contrôles avec ces fonctions, afin de créer une solution complète.

Ces fonctions ne renvoient aucune valeur.

Fonction SubmitForm

Utilisez la fonction SubmitForm dans la propriété OnSelect d’un contrôle Button pour enregistrer les modifications apportées dans un contrôle de formulaire au sein de la source de données.

Avant de soumettre des modifications, cette fonction vérifie les problèmes de validation associés aux champs signalés comme obligatoires, ou dont la valeur présente une ou plusieurs contraintes. Ce comportement correspond à celui de la fonction Validate.

La fonction SubmitForm vérifie également la propriété Valid du formulaire, qui regroupe toutes les propriétés Valid des contrôles Card que contient le contrôle de formulaire. En cas de problème, les données ne sont pas envoyées et les propriétés Error et ErrorKind du contrôle Form sont définies en conséquence.

Si la validation réussit, la fonction SubmitForm soumet la modification à la source de données.

  • En cas de réussite, le comportement OnSuccess du formulaire est exécuté et les propriétés Error et ErrorKind sont effacées. Si le formulaire a adopté le mode FormMode.New, il revient au mode FormMode.Edit.
  • En cas d’échec, le comportement OnFailure du formulaire est exécuté et les propriétés Error et ErrorKind sont définies en conséquence. Le mode du formulaire reste le même.

Fonction EditForm

La fonction EditForm remplace le mode du contrôle de formulaire par FormMode.Edit. Dans ce mode, le contenu de la propriété Item du contrôle de formulaire est utilisé pour remplir le formulaire. Si la fonction SubmitForm s’exécute lorsque le formulaire est dans ce mode, un enregistrement est modifié, et non créé. FormMode.Edit est la valeur par défaut pour le contrôle de formulaire.

Fonction NewForm

La fonction NewForm remplace le mode du contrôle de formulaire par FormMode.New. Dans ce mode, le contenu de la propriété Item du contrôle de formulaire est ignoré, et les valeurs par défaut de la propriété DataSource sont insérées dans le formulaire. Si la fonction SubmitForm s’exécute lorsque le formulaire est dans ce mode, un enregistrement est créé, et non modifié.

Fonction ResetForm

La fonction ResetForm rétablit les valeurs initiales du contenu d’un formulaire, avant toute modification effectuée par l’utilisateur. Si le formulaire a adopté le mode FormMode.New, il est réinitialisé sur le mode FormMode.Edit. Le comportement OnReset du contrôle de formulaire s’exécute également.

Syntaxe

SubmitForm( FormName )

  • FormName - Requis. Contrôle de formulaire à envoyer à la source de données.

EditForm( FormName )

  • FormName - Requis. Contrôle de formulaire devant basculer sur le mode FormMode.Edit.

NewForm( FormName )

  • FormName - Requis. Contrôle de formulaire devant basculer sur le mode FormMode.New.

ResetForm( FormName )

  • FormName - Requis. Contrôle de formulaire dont les valeurs initiales doivent être rétablies. Fait basculer également le formulaire du mode FormMode.New vers le mode FormMode.Edit.

Exemples

Consultez la page Understand data forms in Microsoft PowerApps (Comprendre les formulaires de données dans Microsoft PowerApps) pour obtenir des exemples complets.

  1. Ajoutez un contrôle Button, en définissant sa propriété Text de manière à afficher Save, et définissez sa propriété OnSelect sur la formule suivante :

    SubmitForm( EditForm )

  2. Définissez la propriété OnFailure d’un contrôle de formulaire sur la valeur vide, et sa propriété OnSuccess sur la formule suivante :

    Back()

  3. Nommez un contrôle Label ErrorText, et définissez sa propriété Text sur cette formule :

    EditForm.Error

    Lorsque l’utilisateur sélectionne le bouton Save (Enregistrer), toutes les modifications apportées dans le contrôle de formulaire sont envoyées à la source de données sous-jacente.

    • Si l’envoi aboutit, toutes les modifications sont enregistrées, ou un enregistrement est créé si le contrôle de formulaire a adopté le mode New. Le paramètre ErrorText est vide et l’écran précédent réapparaît.
    • Si l’envoi échoue, le paramètre ErrorText affiche un message d’erreur convivial ; l’écran actuel reste visible, afin que l’utilisateur puisse corriger le problème et réessayer.
  4. Ajoutez un contrôle Button, en définissant sa propriété Text de manière à afficher Cancel (Annuler), et définissez sa propriété OnSelect sur la formule suivante :

    ResetForm( EditForm ); Back()

    Lorsque l’utilisateur sélectionne le bouton Cancel (Annuler), les valeurs affichées dans le contrôle de formulaire sont réinitialisées sur leur valeur avant les modifications apportées par l’utilisateur ; l’écran précédent réapparaît et le contrôle de formulaire revient au mode Edit (Modifier) (si son mode était New).

  5. Ajoutez un contrôle Button, en définissant sa propriété New de manière à afficher Save (Enregistrer), et définissez sa propriété OnSelect sur la formule suivante :

    NewForm( EditForm ); Navigate( EditScreen, None )

    Lorsque l’utilisateur sélectionne le bouton New (Nouveau), le contrôle de formulaire bascule sur le mode New. Les valeurs par défaut de la source de données du contrôle de formulaire sont insérées dans ce contrôle, et l’écran qui contient le contrôle de formulaire s’affiche. Lorsque la fonction SubmitForm s’exécute, un enregistrement est créé, et non mis à jour.