French Power Platform User Group

Please login or click SIGN UP FOR FREE to create your PowerPlatformUG account to join this user group.
Expand all | Collapse all

Eviter le défilement d'une image sur un DetailScreen

Jump to Best Answer
  • 1.  Eviter le défilement d'une image sur un DetailScreen

    Posted 11 days ago
    Bonjour,

    Je suis novice sur powerapps mais plein de bonne volonté et d'envie d'apprendre :o)

    Je travaille dans un centre de soins. J'essaie actuellement de créer une application qui recense les patients et les anciens patients dans une galerie (Avec Photo, nom et date d'admission).
    Lorsqu'on clique sur un élément, on arrive sur un DetailScreen du patient sélectionné qui nous donne un tas d'informations sur son séjour et sa prise en charge. Toutes les données sont hébergées dans une liste sharepoint.
    Mon problème est le suivant : en haut de la page de détail, je souhaite remettre la photo du patient. J'ai réussi à mettre la photo, mais quand je fais défiler la page, la photo ne défile pas avec le texte et reste toujours présente.

    Voici l'arborescence de l'écran :

    >DetailScreenResident
         >DetailFormResident

    Quand j'insère la photo, elle se met d'office comme ça :

    >DetailScreenResident
         >Photo1
         >DetailFormResident

    Je ne parviens pas à la mettre dans le DetailFormResident (je me suis dit que ça pourrait fonctionner). J'ai également tenté d'insérer un Container1, mais il se met au même niveau que Photo1. J'ai aussi regardé les propriétés de la photo mais je n'ai rien vu qui me permettait de la "figer" pour qu'elle défile avec le reste.

    Quelqu'un pourrait-il m'aider ?

    Merci d'avance,

    Jonas

    ------------------------------
    Jonas De Brabanter
    ------------------------------


  • 2.  RE: Eviter le défilement d'une image sur un DetailScreen
    Best Answer

    Gold Contributor
    Posted 11 days ago
    Salut Jonas,
    Ton image ne défile pas car, comme tu l'as compris, elle ne se trouve pas à l'intérieur du formulaire. Pour la mettre à l'intérieur du formulaire, il te faut créer un datacard custom (le déplacer tout en haut des datacards du formulaire pour que la photo apparaisse en premier) et y mettre la photo.
    Sélectionne ton formulaire dans l'arborescence des contrôles de ton écran puis :

    Ensuite, glisse-le en première position :

    Puis ajoutes-y ton image :

    N'hésite pas si tu as d'autres questions... 😉

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 3.  RE: Eviter le défilement d'une image sur un DetailScreen

    Posted 11 days ago
    Merci beaucoup, ça marche parfaitement :o)

    Par contre, j'essaie de repositionner toutes mes datacards en jouant sur la hauteur, largeur et en leur attribuant manuellement une position en X et Y. Pour ce faire je les déverrouille au fur et à mesure et je leur attribue les 4 valeurs. Je veuille à ce que la largeur et la position de 2 éléments côte à côte ne dépassent pas la largeur du contenant (DetailForm) et pourtant parfois il change tout à coup mes valeurs et mettant la valeur Y la plus bas de la page, donc il met mon élément tout en dessous des autres, puis il refuse que j'attribue les valeurs X et Y. Et parfois, quand je parviens à le faire, il change d'autres datacards de place. C'est très frustrant.

    Savez-vous à quoi cela est dû ?

    ------------------------------
    Jonas De Brabanter
    ------------------------------



  • 4.  RE: Eviter le défilement d'une image sur un DetailScreen

    Gold Contributor
    Posted 11 days ago
    Tout à fait : le système de positionnement des datacards est totalement pourri... 😅
    J'ai pas mal joué avec les datacards alors voici quelques conseils pour les manipuler plus aisément :
    1. Avant toute chose il faut renommer son contrôle formulaire (si on le fait après avoir fait toute la mise en forme, il pète tout après le renommage et il faut tout recommencer... 😋)
    2. Ensuite, d'abord définir le nombre de colonnes dans le formulaire et déterminer si les datacards sont alignés ou pas sur ces colonnes (pareil : ne plus modifier à postériori sinon faut refaire toute la mise en forme) :
    3. Il est possible de jouer avec les poignées des datacards pour les redimensionner mais perso je préfère définir leur largeur et leur hauteur manuellement via leurs propriétés Width et Height. Pour la largeur, je la définis en lui attribuant une formule : Parent.Width * n/c (c étant le nombre de colonnes du formulaire et n le nombre de colonnes que je veux pour la largeur de mon datacard ; ex. : pour un datacard qui doit occuper 5 colonnes sur les 6 du formulaire -> Parent.Width * 5/6).
    4. La hauteur d'une ligne de datacards dans un formulaire est la plus grande des hauteurs des datacards de la ligne -> cela implique que l'on ne peut pas faire ceci dans un formulaire :
    5. Le formulaire a horreur du vide : s'il y a un vide il essaiera toujours d'y faire remonter un datacard du dessous
    6. Pour positionner le datacard sur la bonne ligne, 2 possibilités :
      1. Le positionnement par glisser/déposer :
        ATTENTION : dans ce mode de déplacement, si des datacards sont masqués ça peut vite foutre la grouille parce-que Power Apps ne le gère pas très bien. Il faut donc d'abord rendre visible tous les datacards avant de les déplacer (c'est pour ça qu'en général je mets sur mon écran un petit toggle qui me permet d'afficher tous les datacards quand j'en ai besoin).
      2. L'affectation manuelle. ATTENTION : on ne modifie jamais les X et Y d'un datacard au niveau du panneau Propriétés mais uniquement au niveau du panneau Avancé. Les X et Y du panneau Propriétés affichent la position du datacard en pixels automatiquement calculés selon sa position dans la "grille" du formulaire. Les X et Y du panneau Avancé affichent sa position en numéro de colonne et de ligne de la "grille" du formulaire.
        Du coup, je mets Y=0 si mon datacard doit être sur la première ligne ou Y=3 s'il doit être sur la 4è (puisque ça commence à 0). Tu peux aussi numéroter de 5 en 5 pour avoir de la place pour "créer" de nouvelles lignes.
        Quand aux X, ils permettent d'ordonner les datacards sur une même ligne de la "grille" du formulaire : là on est pas obligé de renseigner le vrai numéro de colonne en fonction de la largeur des datacards ; il suffit qu'ils aient chacun un numéro d'ordre unique et ça passe...
    Voilou... J'avais fait un petit article là-dessus sur LinkedIn y'a quelques temps : https://www.linkedin.com/pulse/power-apps-comprendre-le-positionnement-des-datacards-gallis/

    Bon courage ! 😁

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 5.  RE: Eviter le défilement d'une image sur un DetailScreen

    Posted 8 days ago
    Super, merci beaucoup. Avec vos explications et l'article que vous avez publié, j'y vois beaucoup plus clair et j'ai arrêté de me tirer les cheveux :o)

    Je suis en train d'implémenter tout ça. J'ai fait un tableau manuscrit avec les coordonnées (X et Y) de chacun des champs et ça m'aide bien à visualiser. Puis j'ai commencé par le bas de la page afin de pouvoir voir au fur et à mesure ce que ça donne.

    J'aurais pu chercher encore longtemps sans votre aide, merci encore :o)

    Jonas

    ------------------------------
    Jonas De Brabanter
    ------------------------------