Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Affichez, modifiez et créez un enregistrement dans une source de données.
Descriptif
Si vous ajoutez un contrôle de formulaire d’affichage , l’utilisateur peut afficher tous les champs d’un enregistrement ou uniquement les champs que vous spécifiez. Si vous ajoutez un contrôle De formulaire Modifier , l’utilisateur peut modifier ces champs, créer un enregistrement et enregistrer ces modifications dans une source de données.
Si vous ajoutez un contrôle Gallery , vous pouvez le configurer pour afficher une table dans une source de données, puis configurer un formulaire pour afficher l’enregistrement que l’utilisateur sélectionne dans la galerie. Vous pouvez également ajouter un ou plusieurs contrôles Button que l’utilisateur peut sélectionner pour enregistrer les modifications, annuler les modifications et créer un enregistrement. En utilisant des contrôles ensemble, vous pouvez créer une solution complète.
Limites
Le contrôle de formulaire présente les limitations suivantes :
- Vous ne pouvez pas copier et coller des formulaires dans des cartes de données. Cela permet d’empêcher la création de certaines combinaisons de contrôles qui risquent la stabilité et les performances de l’application.
Sélection de l’enregistrement
Pour l’un ou l’autre type de formulaire, vous définissez sa propriété DataSource sur une table d’enregistrements et vous définissez la propriété Item du formulaire pour afficher un enregistrement spécifique dans cette table. Par exemple, vous pouvez définir la propriété Item d’un formulaire sur la propriété SelectedItem d’un contrôle Gallery . Lorsque l’utilisateur sélectionne un enregistrement dans la galerie, le même enregistrement apparaît dans le formulaire, sauf que le formulaire peut afficher plus de champs. Si l’utilisateur retourne à la galerie et sélectionne un autre enregistrement, la propriété SelectedItem de la galerie change. Cette modification met à jour la propriété Item du formulaire, qui affiche ensuite l’enregistrement nouvellement sélectionné.
Vous pouvez également définir la propriété Item d’un formulaire à l’aide d’un contrôle déroulant , comme Afficher, modifier ou ajouter un enregistrement décrit, ou une fonction telle que Lookup ou First. Par exemple, vous pouvez définir la propriété Item sur l’une de ces formules pour afficher l’entrée Fabrikam dans la table Accounts de Microsoft Dataverse :
First(Accounts)
Lookup(Accounts, "Fabrikam" in name)
Chaque contrôle de formulaire contient un ou plusieurs contrôles Card . En définissant la propriété DataField d’une carte, vous spécifiez le champ affiché par cette carte et d’autres détails.
Créer un enregistrement
Lorsqu’un contrôle De formulaire Modifier est en mode Édition , l’utilisateur peut mettre à jour l’enregistrement spécifié dans la propriété Item du formulaire. Si elle est inspectée, la propriété Mode retourne Edit.
Quand un contrôle de formulaire Modifier est en mode Nouveau , toutefois, la propriété Item est ignorée. Le formulaire n’affiche pas d’enregistrement existant ; Au lieu de cela, les valeurs de chaque champ correspondent aux valeurs par défaut de la source de données avec laquelle vous avez configuré le formulaire. La fonction NewForm entraîne le passage d’un formulaire à ce mode.
Par exemple, vous pouvez définir la propriété Text d’un bouton pour afficher New et sa propriété OnSelect sur une formule qui inclut la fonction NewForm . Si l’utilisateur sélectionne ce bouton, le formulaire bascule en mode Nouveau afin que l’utilisateur puisse créer un enregistrement à partir de valeurs connues.
Un formulaire revient en mode Édition si la fonction ResetForm s’exécute ou si la fonction SubmitForm s’exécute correctement.
- Vous pouvez définir la propriété Text d’un bouton pour afficher Cancel et sa propriété OnSelect sur une formule qui inclut la fonction ResetForm . Si l’utilisateur sélectionne ce bouton, toutes les modifications en cours sont ignorées et les valeurs dans le formulaire, une fois de plus, correspondent aux valeurs par défaut de la source de données.
- Vous pouvez définir la propriété Text d’un bouton pour afficher les modifications enregistrées et sa propriété OnSelect sur une formule qui inclut la fonction SubmitForm . Si l’utilisateur sélectionne ce bouton et que la source de données est mise à jour, les valeurs du formulaire sont réinitialisées aux valeurs par défaut de la source de données.
Enregistrer les modifications
Si vous créez un bouton Enregistrer les modifications comme décrit dans la section précédente, l’utilisateur peut créer ou mettre à jour un enregistrement, puis sélectionner ce bouton pour enregistrer ces modifications dans la source de données. Vous pouvez, à la place, configurer un contrôle Image ou un autre contrôle pour effectuer la même tâche, tant que vous configurez ce contrôle avec la fonction SubmitForm . Dans tous les cas, les propriétés Error, ErrorKind, OnSuccess et OnFailure fournissent des commentaires sur le résultat.
Lorsque la fonction SubmitForm s’exécute, elle valide d’abord les données que l’utilisateur souhaite envoyer. Si un champ obligatoire ne contient pas de valeur ou qu’une autre valeur n’est pas conforme à une autre contrainte, les propriétés ErrorKind sont définies et la formule OnFailure s’exécute. Vous pouvez configurer le bouton Enregistrer les modifications ou un autre contrôle afin que l’utilisateur puisse le sélectionner uniquement si les données sont valides (autrement dit, si la propriété Valide du formulaire est true). Notez que l’utilisateur ne doit pas seulement corriger le problème, mais également sélectionner à nouveau le bouton Enregistrer les modifications (ou ignorer les modifications en sélectionnant un bouton Annuler , comme décrit précédemment) pour réinitialiser les propriétés Error et ErrorKind .
Si les données passent la validation, SubmitForm l’envoie à la source de données, ce qui peut prendre un certain temps en fonction de la latence du réseau.
- Si la soumission réussit, la propriété Error est désactivée, la propriété ErrorKind est définie sur ErrorKind.None et la formule OnSuccess s’exécute . Si l’utilisateur a créé un enregistrement (autrement dit, si le formulaire était précédemment en mode Nouveau ), le formulaire est basculé en mode Édition afin que l’utilisateur puisse modifier l’enregistrement nouvellement créé ou un autre.
- Si la soumission échoue, la propriété Error contient un message d’erreur convivial de la source de données, expliquant le problème. La propriété ErrorKind est définie de manière appropriée, en fonction du problème et la formule OnFailure s’exécute.
Certaines sources de données peuvent détecter quand deux personnes essaient de mettre à jour le même enregistrement en même temps dans ce cas, ErrorKind est défini sur ErrorKind.Conflict, et la solution consiste à actualiser la source de données avec les modifications de l’autre utilisateur et à réappliquer la modification apportée par cet utilisateur.
Conseil / Astuce
Si vous proposez un bouton Annuler sur votre formulaire afin que l’utilisateur puisse abandonner les modifications en cours, ajoutez la fonction ResetForm à la propriété OnSelect du bouton, même si cette propriété contient également une fonction Navigate pour modifier les écrans. Sinon, le formulaire conserve les modifications de l’utilisateur.
Mise en page
Par défaut, les cartes sont placées dans une seule colonne pour les applications téléphoniques et trois colonnes pour les applications tablettes. Vous pouvez spécifier le nombre de colonnes qu’un formulaire comporte et déterminer si les cartes doivent s’aligner sur celles-ci lors de la configuration du formulaire. Ces paramètres ne sont pas exposés en tant que propriétés, car ils sont utilisés uniquement pour définir les propriétés X, Y et Width des cartes.
Pour plus d’informations, consultez Présentation de la disposition du formulaire de données.
Propriétés principales
DataSource : source de données qui contient l’enregistrement que l’utilisateur affiche, modifie ou crée.
- Si vous ne définissez pas cette propriété, l’utilisateur ne peut pas afficher, modifier ou créer un enregistrement, et aucune métadonnées ou validation supplémentaire n’est fournie.
DefaultMode : mode initial du contrôle de formulaire. Consultez la description du mode ci-dessous pour connaître les valeurs acceptables et leurs significations.
DisplayMode : mode à utiliser pour les cartes de données et les contrôles dans le contrôle de formulaire.
Dérivé de la propriété Mode et ne peut pas être défini indépendamment :
| Mode | DisplayMode | Descriptif |
|---|---|---|
| FormMode.Edit | DisplayMode.Edit | Les cartes de données et les contrôles sont modifiables et prêts à accepter les modifications apportées à un enregistrement. |
| FormMode.New | DisplayMode.Edit | Les cartes de données et les contrôles sont modifiables, prêts à accepter un nouvel enregistrement. |
| FormMode.View | DisplayMode.View | Les cartes de données et les contrôles ne sont pas modifiables et optimisés pour l’affichage. |
Erreur : message d’erreur convivial à afficher pour ce formulaire lorsque la fonction SubmitForm échoue.
- Cette propriété s’applique uniquement au contrôle Modifier le formulaire .
- Cette propriété change uniquement lorsque la fonction SubmitForm, EditForm ou ResetForm s’exécute.
- Si aucune erreur ne se produit, cette propriété est vide et ErrorKind a la valeur ErrorKind.None.
- Dans la mesure du possible, le message d’erreur retourné se trouve dans la langue de l’utilisateur. Certains messages d’erreur proviennent directement de la source de données et peuvent ne pas se trouver dans la langue de l’utilisateur.
ErrorKind : si une erreur se produit lors de l’exécution de SubmitForm , le type d’erreur qui s’est produite.
- S’applique uniquement à un contrôle de formulaire Modifier .
- Cette propriété a la même énumération que la fonction Errors . Un contrôle de formulaire Modifier peut retourner ces valeurs :
| ErrorKind | Descriptif |
|---|---|
| Type d’erreur.Conflit | Un autre utilisateur a modifié le même enregistrement, ce qui entraîne un conflit de modification. Exécutez la fonction Refresh pour recharger l’enregistrement, puis réessayez. |
| ErrorKind.None | L’erreur est d’un type inconnu. |
| ErrorKind.Sync | La source de données a signalé une erreur. Pour plus d’informations , consultez la propriété Error. |
| ErrorKind.Validation | Un problème de validation général a été détecté. |
Élément : enregistrement dans la Source de données que l’utilisateur affiche ou modifie.
LastSubmit : dernier enregistrement envoyé avec succès, y compris tous les champs générés par le serveur.
- Cette propriété s’applique uniquement au contrôle Modifier le formulaire .
- Si la source de données génère ou calcule automatiquement des champs, tels qu’un champ d’ID avec un nombre unique, la propriété LastSubmit aura cette nouvelle valeur après l’exécution de SubmitForm .
- La valeur de cette propriété est disponible dans la formule OnSuccess .
Mode : le contrôle est en mode Modifier ou Nouveau .
| Mode | Descriptif |
|---|---|
| FormMode.Edit | L’utilisateur peut modifier un enregistrement à l’aide du formulaire. Les valeurs des cartes du formulaire sont préremplies avec l’enregistrement existant, pour que l’utilisateur change. Si la fonction SubmitForm s’exécute correctement, un enregistrement existant est modifié. |
| FormMode.New | L’utilisateur peut créer un enregistrement à l’aide du formulaire. Les valeurs des contrôles du formulaire sont préremplies avec les valeurs par défaut d’un enregistrement de la source de données. Si la fonction SubmitForm s’exécute correctement, un enregistrement est créé. |
| FormMode.View | L’utilisateur peut afficher un enregistrement à l’aide du formulaire. Les valeurs des contrôles du formulaire sont préremplies avec les valeurs par défaut d’un enregistrement de la source de données. |
Le formulaire passe du mode Nouveau au mode Édition lorsque l’une de ces modifications se produit :
- Le formulaire est envoyé avec succès et un enregistrement est créé. Si la galerie est définie pour déplacer automatiquement la sélection vers ce nouvel enregistrement, le formulaire est en mode Édition pour l’enregistrement créé afin que l’utilisateur puisse apporter des modifications supplémentaires.
- La fonction EditForm s’exécute.
- La fonction ResetForm s’exécute. Par exemple, l’utilisateur peut sélectionner un bouton Annuler configuré avec cette fonction.
OnFailure : actions à effectuer lorsqu’une opération de données a échoué.
- Cette propriété s’applique uniquement au contrôle Modifier le formulaire .
OnReset : actions à effectuer lorsqu’un contrôle de formulaire Modifier est réinitialisé.
- Cette propriété s’applique uniquement au contrôle Modifier le formulaire .
OnSuccess : actions à effectuer lorsqu’une opération de données a réussi.
- Cette propriété s’applique uniquement au contrôle Modifier le formulaire .
Non enregistré : True si le contrôle Modifier le formulaire contient des modifications utilisateur qui n’ont pas été enregistrées.
- Cette propriété s’applique uniquement au contrôle Modifier le formulaire .
- Utilisez cette propriété pour avertir l’utilisateur avant de perdre les modifications non enregistrées. Pour empêcher l’utilisateur de sélectionner un autre enregistrement dans un contrôle Galerie avant d’enregistrer les modifications apportées à l’enregistrement actif, définissez la propriété Disabled de la galerie sur Form.Unsaved et, de même, désactivez les opérations d’actualisation.
Mises à jour : valeurs à réécrire dans la source de données d’un enregistrement chargé dans un contrôle de formulaire.
- Cette propriété s’applique uniquement au contrôle Modifier le formulaire .
- Utilisez cette propriété pour extraire les valeurs de champ des cartes dans le contrôle. Vous pouvez ensuite utiliser ces valeurs pour mettre à jour manuellement la source de données avec un appel de fonction Patch ou une autre méthode exposée par une connexion. Vous n’avez pas besoin d’utiliser cette propriété si vous utilisez la fonction SubmitForm .
- Cette propriété retourne un enregistrement de valeurs. Par exemple, si le contrôle de formulaire contient des contrôles de carte pour les champs Nom et Quantité , ainsi que les valeurs des propriétés De mise à jour pour ces cartes retournent respectivement « Widget » et 10, la propriété Mises à jour pour le contrôle de formulaire renvoie { Nom : « Widget », Quantité : 10 }.
Valide : indique si un contrôle de formulaire Carte ou Modifier contient des entrées valides, prêtes à être soumises à la source de données.
Cette propriété s’applique uniquement au contrôle Modifier le formulaire .
La propriété Valide d’un contrôle Formulaire agrège les propriétés Valides de tous les contrôles Carte du formulaire. La propriété Valide d’un formulaire est vraie uniquement si les données de toutes les cartes de ce formulaire sont valides ; sinon, la propriété Valide du formulaire est false.
Pour activer un bouton pour enregistrer les modifications uniquement lorsque les données d’un formulaire sont valides mais n’ont pas encore été envoyées, définissez la propriété DisplayMode du bouton sur cette formule :
SubmitButton.DisplayMode = If(IsBlank( Form.Error ) || Form.Valid, DisplayMode.Edit, DisplayMode.Disabled)
Propriétés supplémentaires
BorderColor : couleur de la bordure d’un contrôle.
BorderStyle : indique si la bordure d’un contrôle est Solid, Dashed, Dotted ou None.
BorderThickness : épaisseur de la bordure d’un contrôle.
Remplissage : couleur d’arrière-plan d’un contrôle.
Hauteur : distance entre les bords supérieurs et inférieurs d’un contrôle.
Visible : indique si un contrôle apparaît ou est masqué.
Largeur : distance entre les bords gauche et droit d’un contrôle.
X : distance entre le bord gauche d’un contrôle et le bord gauche de son conteneur parent (ou de l’écran à défaut de conteneur parent).
Y : distance entre le bord supérieur d’un contrôle et le bord supérieur du conteneur parent (ou de l’écran à défaut de conteneur parent).
Plus d’informations
- Pour obtenir une vue d’ensemble complète du fonctionnement des formulaires, consultez Comprendre les formulaires de données.
- Consultez la référence de formule Power Fx pour EditForm.
Conseils sur l’accessibilité
Prise en charge du lecteur d’écran
- Envisagez d’ajouter un titre au formulaire à l’aide d’une étiquette.