Mapper les champs d’entrée d’un composant
Un composant peut recevoir des valeurs d’entrée pour émettre ou traiter des données à l’aide de propriétés d’entrée personnalisées. Dans cet article, vous apprendrez à utiliser de tels composants qui attendent une ou plusieurs propriétés d’entrée avec un schéma spécifique pour la table ou l’enregistrement donné, ainsi qu’à mapper les champs d’entrée du composant aux colonnes de la source de données.
Conseil
Pour en savoir plus sur les propriétés d’entrée et de sortie personnalisées dans les composants, consultez Propriétés personnalisées dans les composants.
Mapper les colonnes
Utilisez la fonction RenameColumns() pour renommer une ou plusieurs colonnes d’une table afin qu’elles correspondent au schéma de propriété d’entrée pour la sélection de colonne d’entrée.
Par exemple, considérez un composant qui attend une entrée de table au format suivant :
Flavor | UnitPrice | QuantitySold |
---|---|---|
Fraise | 1,99 | 20 |
Chocolat | 2,99 | 45 |
La propriété d’entrée attend le type de données de table :
Le schéma de la propriété d’entrée ressemble à la formule suivante :
Table({Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold:20})
L’application consommant ce composant présente la table suivante IceCreams qui ne correspond pas au schéma du composant :
FlavorName | Price | SaleNumber |
---|---|---|
Fraise | 1,99 | 20 |
Chocolat | 2,99 | 45 |
Pour mapper les champs corrects, utilisez la fonction RenameColumn() pour renommer les colonnes attendues.
RenameColumns(IceCreams,"cra56_flavorname","Flavor","cra56_price","UnitPrice","cra56_salenumber","QuantitySold")
Les champs d’entrée attendus par le composant sont désormais mappés avec les colonnes correspondantes du source de données.
Mapper les enregistrements
Utilisez la fonction With() pour mapper un seul enregistrement.
Par exemple, en continuant à partir de l’exemple précédent pour le mappage des colonnes, la propriété d’entrée personnalisée d’un composant à l’intérieur d’une application attend un type d’enregistrement avec le schéma suivant :
{Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold: 20}
Puisque la source de données IceCreams attend les noms de colonne FlavorName, Price et SaleNumber, nous devons changer le mappage pour l’enregistrement une fois que le composant est ajouté à l’application.
Utilisez la fonction With() pour sélectionner les colonnes de la table IceCreams et mappez-les aux champs d’entrée du composant :
With(Gallery3.Selected,{Flavor:FlavorName,UnitPrice:Price,QuantitySold:SaleNumber})
L’animation suivante montre l’exemple d’un composant ajouté à l’application qui affiche l’enregistrement sélectionné dans la galerie (au-dessus du composant) :
Mappage des tables
Utilisez la fonction ForAll() pour mapper une table d’enregistrements avec les enregistrements attendus par le composant ajouté à l’application.
Par exemple, à la fin de l’exemple des colonnes de carte, vous pouvez utiliser la fonction ForAll() pour mapper la table entière avec les colonnes spécifiques pour pointer vers les champs du composant pour chaque ligne :
ForAll(IceCreams,{Flavor:FlavorName,UnitPrice:Price,QuantitySold:SaleNumber})
Carte utilisant la liste déroulante (obsolète)
Vous pouvez utiliser l’onglet Avancé pour un composant ajouté à une application qui attend une propriété d’entrée de table ou type d’enregistrement, et sélectionnez les mappages de champs à l’aide de l’option de liste déroulante. Ce mappage est attribué par défaut et, à moins que vous ne sélectionniez manuellement les champs de mappage appropriés, le mappage peut ne pas produire les résultats attendus.
Par exemple, l’animation suivante montre la formule mise à jour pour renommer les colonnes. Le composant à l’écran ne modifie pas le mappage des champs, car la sélection de champs par défaut à l’aide de cette liste déroulante doit être mise à jour manuellement.
Cette méthode de sélection du mappage à l’aide de la liste déroulante a été obsolète. Utilisez plutôt les méthodes de mappage column, record ou table décrites plus haut dans cet article.
Vous pouvez toujours utiliser l’option de liste déroulante pour choisir le mappage des applications existantes, bien que cela ne soit pas recommandé. Pour les nouvelles applications, cette option n’est pas disponible par défaut. Pour activer ou désactiver cette fonctionnalité obsolète, accédez à Paramètres > Fonctionnalités à venir > Hors service, et choisissez Autoriser l’attribution automatique de champs pour les entrées de composants.
Lorsque vous activez le paramètre, assurez-vous d’enregistrer et de rouvrir l’application dans Power Apps Studio. Une fois rouverte, mettez à jour la formule de la propriété d’entrée pour déclencher la validation de la formule afin que les options de la liste déroulante commencent à apparaître dans le volet des propriétés avancées.
Voir aussi
- Formules de comportement pour les composants
- Déconseillé : Mapper les champs des composants à l’aide de l’option de liste déroulante
- Composants de canevas
- Bibliothèque de composants
- Gestion du cycle de vie des applications (ALM) de la bibliothèque de composants
- Ajouter un élément multimédia à un composant
- Formules de comportement pour les composants
- Power Apps component framework
- Ajouter des composants canevas à une page personnalisée dans une application pilotée par modèle