Les datacards dans les formulaires
-
Les datacards dans les formulaires
ℹ Reprise de l’article Power Apps – Comprendre le positionnement des datacards dans les formulaires publié sur LinkedIn le 09/12/2019.
Que ce soit lorsque l’on personnalise un formulaire SharePoint à l’aide de Power Apps ou lorsque l’on utilise un contrôle Formulaire dans une application de type canevas, il n’est pas toujours aisé de comprendre le positionnement des datacards qui le compose.
Rappel
Un contrôle Formulaire permet de visualiser, de modifier ou de créer un élément d’une source de données. Il est composé de datacards : un datacard = une donnée (i.e. un champ).
Par défaut, chaque datacard est constitué de 4 éléments :
- un libellé décrivant la donnée (DataCardKey…)
- un contrôle de saisie portant la donnée (DataCardValue…)
- un libellé affichant un éventuel message d’erreur (ErrorMessage…)
- un libellé pour l’étoile indiquant un champ obligatoire (StarVisible…)
Avant toutes choses…
Avant de commencer à positionner vos datacards selon vos envies, pensez à fixer d’abord le colonage de votre formulaire et décidez si vos datacards doivent s’y aligner.
Il va largement influencer la manière dont vous organiserez vos datacards dans le formulaire. Pour l’exemple qui suit, j’ai choisi un colonage de 4.
La position d’un datacard
Regardons maintenant de plus près la manière dont un datacard est positionné à l’intérieur d’un formulaire. Sur l’exemple ci-dessous, pour le datacard Facture/Avoir, les propriétés X et Y via l’onglet Propriétés indiquent : 588 et 86.
Mais sur l’onglet Avancé, pour le même datacard, les propriétés X et Y affichent : 2 et 1 !!!
Pourquoi ces informations, à priori, contradictoires ?
Eh bien parce-que l’onglet Propriétés affiche la position du datacard en pixels, et l’onglet Avancé affiche la position du datacard en ligne/colonne.
En réalité, il faut imaginer la présence d’une grille virtuelle par-dessus le contrôle Formulaire, dont le nombre de colonnes dépends du colonage choisi précédemment :
Ainsi, le datacard Facture/Avoir indique une position à la colonne 2 (valeur X) et à la ligne 1 (valeur Y) lorsque l’on est sur l’onglet Avancé des propriétés du datacard.
Comment modifier la position des datacards ?
⛔ Surtout, ne modifiez jamais les coordonnées exprimées en pixels sur l’onglet Propriétés. Aucun intérêt et beaucoup trop compliqué, voire inopérant.
✅ Par contre, tout simplement, indiquez sa position (en ligne/colonne) dans la grille à l’aide de ses propriétés X et Y sur l’onglet Avancé.
Par exemple, si je change la valeur X du datacard Facture/Avoir de 2 à 4, il va se positionner dans la dernière colonne de la grille du formulaire :
Pourquoi de 2 à 4 et pas de 2 à 3 ? Parce-qu’en colonne 3, ligne 1 il y a déjà le datacard Client. Comme ils ont tous deux la même valeur de colonne (X), ils ne peuvent se superposer et restent donc à la même place.
En mettant la valeur 4 je m’assure qu’il est celui qui a la valeur de colonne la plus élevée et il devient donc le dernier datacard sur la ligne 1.
Quelques règles
Voici quelques astuces qui vous permettront de mieux comprendre comment positionner les datacards dans un contrôle Formulaire :
- le contrôle Formulaire de Power Apps a horreur du vide : une “cellule” de la grille du formulaire ne peut être vide, sauf s’il s’agit de la dernière colonne de la ligne (pour créer un espace vide entre 2 datacards il faut donc créer un datacard custom vide et le placer au bon endroit)
- les numéros de colonne indiqués sur les datacards ne doivent pas forcément se suivre ; les datacards se placent dans les colonnes de la grille par ordre croissant de leur propriété X
- deux datacards peuvent avoir un même numéro de colonne
- de même, les numéros des lignes ne doivent pas forcément se suivre ; il est recommandé de les numéroter de 5 en 5 afin de se laisser la possibilité de “créer” de nouvelles lignes dans le formulaire
- si vous optez pour le placement manuel de vos datacards à l’aide des propriétés X et Y, ne les déplacez pas à postériori à l’aide du panneau Modifier les champs du formulaire, au risque de voir toute votre mise en forme détruite (choisissez soit l’un, soit l’autre)
- renommez votre contrôle Formulaire AVANT de positionner vos datacards, au risque de voir tout votre travail de placement des datacards tomber à l’eau
Bon amusement (ou pas 😅) !
PostID=t0AVsCbexCMAUeV
Sorry, there were no replies found.
Connectez-vous pour répondre.