Partager via


Comprendre les cartes de données dans les applications canevas

Les contrôles de formulaire d’affichage et de modification de formulaire dans les applications de canevas sont des conteneurs pour les enregistrements entiers. Chaque formulaire a plusieurs contrôles de carte, qui sont les blocs de construction du formulaire. Chaque carte affiche ou vous permet de modifier un champ unique à partir de l’enregistrement et des liens vers ce champ via sa propriété DataField . Le formulaire affiche l’enregistrement complet et chaque carte se concentre sur un champ. Vous contrôlez donc la façon dont les données sont affichées ou mises à jour.

Ouvrez votre application pour modification dans Power Apps Studio. Dans l’arborescence, sélectionnez un contrôle de formulaire. Dans le volet Propriétés , choisissez les champs à afficher, comment afficher chaque champ et l’ordre de les afficher. Par exemple, la capture d’écran suivante montre un contrôle de formulaire Modifier dans une application créée à partir d’une liste nommée Assets, où vous personnalisez les champs en fonction de vos besoins.

Capture d’écran d’un contrôle de formulaire Modifier dans une application créée à partir d’une liste nommée Ressources. Le formulaire affiche plusieurs champs que vous pouvez personnaliser.

Commencez par les cartes en lisant ajouter un formulaire et comprendre les formulaires de données. Cet article explique comment fonctionnent les cartes et comment personnaliser ou créer vos propres cartes.

Cartes prédéfinies

Power Apps offre un ensemble prédéfini de cartes pour les chaînes, les nombres et d’autres types de données, afin de pouvoir adapter votre application à des besoins de données spécifiques. Dans le volet droit, vous voyez les types disponibles et pouvez modifier la carte d’un champ.

Capture d’écran d’une carte sélectionnée dans Power Apps.

Dans cet exemple, une carte de texte à une seule ligne est sélectionnée, mais le texte de l’URL est plus long que celui qui s’adapte à une seule ligne. Remplacez-le par une carte de texte à plusieurs lignes afin que les utilisateurs aient plus d’espace à modifier.

Capture d’écran d’une modification de carte de texte multiligne dans Power Apps.

Plusieurs champs dans cette source de données ne sont pas affichés, mais vous pouvez afficher ou masquer un champ en activant sa case à cocher. Cet exemple montre comment afficher le champ SecurityCode .

Personnaliser une carte

Les cartes ont d’autres contrôles. Dans un contrôle Modifier le formulaire, l’utilisateur entre des données dans un contrôle Saisie de texte standard que vous ajoutez à partir de l’onglet Insertion.

Cet article explique comment modifier l’apparence d’une carte en modifiant les contrôles dans celui-ci.

  1. Tout d’abord, revenez à la dernière carte insérée pour le champ SecurityCode. Sélectionnez cette carte en la sélectionnant une seule fois :

    Sélectionner un code de sécurité.

  2. Sélectionnez le contrôle d’entrée de texte à l’intérieur de la carte en sélectionnant le contrôle d’entrée lui-même.

    Sélectionnez l’entrée de texte.

  3. Déplacez le contrôle dans la carte en faisant glisser la zone de sélection, puis redimensionnez-le en faisant glisser les poignées le long du bord de la zone de sélection. Capture d’écran du glissement et du redimensionnement du contrôle d’entrée de texte à l’intérieur de la carte SecurityCode.

Vous pouvez redimensionner, déplacer et apporter d’autres modifications aux contrôles d’une carte, mais vous ne pouvez pas la supprimer sans la déverrouiller au préalable.

Déverrouiller une carte

En plus de contenir des contrôles, les cartes elles-mêmes sont des contrôles avec des propriétés et des formules, permettant une personnalisation avancée. Lorsque vous choisissez d’afficher un champ sur un formulaire, le volet de droite crée automatiquement la carte et génère les formules nécessaires, ce qui vous fait économiser du temps et des efforts. Ces formules sont visibles dans l’onglet Avancé du volet de droite :

Avancé verrouillé.

Vous voyez immédiatement l’une des propriétés les plus importantes de la carte : la propriété DataField. Cette propriété indique le champ de la source de données que l’utilisateur voit et peut modifier dans cette carte.

Sous l’onglet Avancé, la bannière en haut indique que les propriétés de cette carte sont verrouillées. Une icône de cadenas apparaît également à côté des propriétés DataField, DisplayName et Required. Le volet de droite a créé ces formules et le verrouillage empêche toute modification accidentelle de ces propriétés.

Icônes de verrouillage.

Sélectionnez la bannière en haut pour déverrouiller la carte afin de pouvoir modifier ces propriétés :

Carte déverrouillée.

Modifiez la propriété DisplayName pour insérer un espace entre Asset et ID. En apportant cette modification, nous allons modifier ce qui a été généré. Dans le volet de droite, cette carte a un libellé différent :

Modifier le nom d’affichage.

Vous avez maintenant pris le contrôle de cette carte et vous pouvez la modifier davantage selon vos besoins. Mais vous avez perdu la capacité que vous aviez auparavant de modifier la carte d’une représentation à une autre (par exemple, un texte sur une seule ligne à un texte sur plusieurs lignes). Vous avez transformé la carte prédéfinie en « carte personnalisée » que vous contrôlez désormais.

Important

Vous ne pouvez pas verrouiller à nouveau une carte que vous avez déverrouillée. Pour revenir à un état verrouillé, supprimez la carte, puis insérez-la à nouveau dans le volet de droite.

Vous pouvez modifier l’apparence et le comportement d’une carte déverrouillée de diverses façons, notamment en ajoutant et supprimant les contrôles qu’elle contient. Par exemple, vous pouvez ajouter une forme d’étoile à partir du menu Icônes sous l’onglet Insertion.

Ajoutez une étoile.

L’étoile fait maintenant partie de la carte et se déplace avec cette dernière si, par exemple, vous réorganisez les cartes dans le formulaire.

Voici un autre exemple : déverrouillez la carte ImageURL, puis ajoutez un contrôle Image à partir de l’onglet Insertion :

Ajoutez une image.

Dans la barre de formule, définissez la propriété Image de ce contrôle sur TextBox.Text, où TextBox correspond au nom du contrôle Saisie de texte qui contient l’URL :

Afficher l’image.

Vous pouvez à présent voir les images et modifier leurs URL. Nous aurions pu utiliser Parent.Default comme propriété Image , mais elle n’aurait pas été mise à jour si l’utilisateur a modifié l’URL.

Vous pouvez faire la même chose sur le deuxième écran de cette application, sur lequel vous utilisez un contrôle Afficher le formulaire pour afficher les détails d’un enregistrement. Dans ce cas, vous pouvez choisir de masquer l’étiquette (en définissant la propriété Visible de l’étiquette, et non pas de la carte, sur false), car l’utilisateur ne modifie pas l’URL sur cet écran :

Afficher une image.

Interagir avec un formulaire

Une fois la carte déverrouillée, vous pouvez modifier la manière dont elle interagit avec le formulaire qui la contient.

Voici quelques conseils concernant le fonctionnement des contrôles avec leur carte et le fonctionnement des cartes avec le formulaire. Ces directives vous aident à comprendre comment créer des formules qui font référence à d’autres contrôles, y compris des cartes et des contrôles au sein des cartes. Faites preuve de créativité : vous pouvez créer une application de plusieurs façons pour répondre à vos besoins spécifiques.

Propriété DataField

La propriété la plus importante sur la carte est la propriété DataField. Cette propriété contrôle la validation, détermine quel champ est mis à jour et gère d’autres aspects de la carte.

Informations entrantes

En tant que conteneur, le formulaire rend la propriété ThisItem disponible pour toutes les cartes qu’il contient. Cet enregistrement contient tous les champs de l’enregistrement actuel.

La propriété Default de chaque carte doit être définie sur ThisItem.FieldName. Dans certains cas, vous pouvez transformer cette valeur au fur et à mesure qu’elle entre. Par exemple, vous souhaiterez peut-être formater une chaîne ou traduire la valeur d’une langue à une autre.

Chaque contrôle au sein de la carte doit faire référence à Parent.Default pour accéder à la valeur du champ. Cette stratégie encapsule la carte, ce qui permet à la propriété Default de la carte de changer sans affecter ses formules internes.

Par défaut, les propriétés DefaultValue et Required sont issues des métadonnées de la source de données en fonction de la propriété DataField. Vous pouvez remplacer ces formules par votre propre logique, en intégrant les métadonnées de la source de données à l’aide de la fonction DataSourceInfo.

Informations sortantes

Une fois que l’utilisateur modifie un enregistrement à l’aide des contrôles dans les cartes, la fonction SubmitForm enregistre ces modifications dans la source de données. Lorsque cette fonction s’exécute, le contrôle Form lit les valeurs de la propriété DataField de chaque carte afin de savoir quel champ modifier.

Le contrôle Form lit également la valeur de la propriété Update de chaque carte. Cette valeur est stockée dans la source de données pour ce champ. C’est ici que vous pouvez appliquer une autre transformation, par exemple pour rétablir celle qui a été appliquée dans la formule Default de la carte.

La propriété Valid est générée par les métadonnées de la source de données, en fonction de la propriété DataField. Elle dépend également de la propriété Required et du fait que la propriété Update contienne une valeur ou non. Si la valeur de la propriété Update n’est pas valide, la propriété Error fournit un message d’erreur convivial.

Si la propriété DataField d’une carte est vide, la carte sert de conteneur pour les contrôles. Ses propriétés Valid et Update ne participent pas lorsque le formulaire est envoyé.

Exemple détaillé

Explorons les contrôles qui composent une carte de saisie de données de base. L’espace entre les contrôles est augmenté pour les afficher plus clairement, ce qui vous aide à comprendre comment chaque composant contribue à la fonctionnalité de la carte :

Carte de dissection.

Dans ce graphique, les contrôles de la carte de données ont été étiquetés :

Cartes de dissection.

Quatre contrôles font fonctionner la carte :

Nonm Type Description
TextRequiredStar le contrôle Label Affiche un astérisque, symbole couramment utilisé dans les formulaires de saisie de données pour indiquer qu’un champ est obligatoire.
TextFieldDisplayName le contrôle Label Affiche le nom convivial du champ. Ce nom peut être différent de celui figurant dans le schéma de la source de données.
InputText Contrôle Input text Affiche la valeur initiale du champ et permet à l’utilisateur de modifier cette valeur.
TextErrorMessage le contrôle Label Affiche un message d’erreur convivial pour l’utilisateur si un problème de validation se produit. Il garantit également que le champ comporte une valeur si cela est nécessaire.

Pour remplir ces contrôles avec des données, leurs propriétés sont générées à partir des propriétés de la carte, via ces formules clés. Les formules font référence à un champ spécifique. À l’inverse, toutes les informations proviennent de la carte.

Propriété de contrôle Formule Description
TextRequiredStar.Visible Parent.Required L’astérisque apparaît uniquement si le champ est obligatoire. La formule obligatoire est générée par vous ou par les métadonnées de la source de données.
TextFieldDisplayName.Text Parent.DisplayName Le contrôle de zone de texte affiche le nom convivial, fourni par vous ou par les métadonnées de la source de données, et qui est défini dans la propriété DisplayName de la carte.
InputText.Default Parent.Default Le contrôle de saisie de texte affiche initialement la valeur du champ de la source de données, tel que fourni par la valeur par défaut de la carte.
TextErrorMessage.Text Parent.Error En cas de problème de validation, la propriété Error de la carte fournit un message d’erreur approprié.

Nonte

La propriété Parent.Error est une propriété en sortie uniquement que vous ne pouvez pas définir à l’aide d’une formule. Cette propriété n’apparaît pas dans la liste des propriétés près du coin supérieur gauche ou dans les onglets Propriétés ou Avancé près du bord droit. La barre de formule suggère cette propriété si vous écrivez une formule qui fait référence à la propriété.

Pour extraire des informations de ces contrôles et les replacer dans la source de données, utilisez les formules clés suivantes :

Nom du contrôle Formule Description
DataCard.DataField "ApproverEmail" Nom du champ que l’utilisateur peut afficher et modifier dans cette carte.
DataCard.Update InputText.Text Valeur à valider et à transmettre dans la source de données lors de l’exécution de SubmitForm.