Disposition dynamique des contrôles dans une galerie

Étiquetté : 

  • Disposition dynamique des contrôles dans une galerie

    Posté par Geoffroy sur 13 mai 2022 à 15h21

    Bonjour à tous,

    J’essaye de faire en sorte que les éléments d’une galerie soient régulièrement disposés en largeur, quand certaines colonnes sont masquées, pour éviter les trous.

    Pour cela, j’utilise la formule Gal_UM.TemplateWidth-Self.Width pour la propriété X du premier label à droite (Gal_UM est le nom de ma galerie). Jusque là, ça se passe bien.

    Pour le 2ème label, je fais pareil en retranchant la largeur du premier : Gal_UM.TemplateWidth-Self.Width-lbl_Commentaires_UM.Width et là, ça se corse.

    Le contrôle se place au bon endroit mais j’ai un message d’erreur dont je ne saisis pas l’origine. Les termes mentionnés correspondent aux autres champs que j’utilise mais je ne comprends pas ce qu’ils viennent faire ici.

    Cette méthode marche pourtant bien pour les étiquettes hors galerie.

    PostID=JpdiSxMTtbDOb5f

    Geoffroy a répondu Il y a 7 mois, 3 semaines 1 Membre · 11 Réponses
  • 11 Réponses
  • Alexandre

    Membre
    13 mai 2022 à 15h54

    Tu es sur que tu es dans le template de ta gallerie ? (juste pour bien vérifier)
    Ensuite, tu peux éventuellement remplacer le Gal_UM (puisque tu es dans le template) par un Parent : Parent.TemplateWidth.
    Indique nous les formules que tu mets dans quelles propriétés de quels contrôles (les noms) pour qu’on localise mieux le problème.

    CommentID=5Hif9QLncoPmExK, PostID=JpdiSxMTtbDOb5f

    • Geoffroy

      Membre
      13 mai 2022 à 16h37

      Oui, je suis bien dans le template. 🙂

      J’ai donc mis Parent.TemplateWidth et les zig-zag rouges disparaissent de la barre de formule mais j’ai toujours une indication d’erreur (même quand je supprime la formule 🤔 ).

      Pour la largeur de chaque colonne, j’ai mis If(Self.Visible;111;0) pour qu’elle disparaisse bien quand on la masque.

      Les labels sont les contrôles de la galerie (lbl_Commentaires_UM, lbl_UM_Statut).

      SubCommentID=efQUYpGuWy9R8cj, CommentID=5Hif9QLncoPmExK, PostID=JpdiSxMTtbDOb5f

    • Alexandre

      Membre
      13 mai 2022 à 16h45

      Tu es sur que les erreurs concernent bien ces formules ?
      Si tu parcours les erreurs dans l’icone stéthoscope en haut à droite de l’éditeur, tu as de l’aide sur l’erreur normalement.
      Là je ne vois pas de problèmes dans la formule affichée.

      Sinon si tu reprends tout, je serais toi je mettrais un conteneur horizontal pour dispatcher tes éléments de manière automatique sur la ligne.

      SubCommentID=tjvM4M4N7ESrjzJ, CommentID=5Hif9QLncoPmExK, PostID=JpdiSxMTtbDOb5f

    • Geoffroy

      Membre
      13 mai 2022 à 17h07

      En fait, j’ai fermé puis rouvert PowerApps et le problème a disparu.

      Je vais terminer le codage et vérifier que tout se passe comme prévu.

      Merci 🙂

      SubCommentID=Le2PuMCnjyLDo6G, CommentID=5Hif9QLncoPmExK, PostID=JpdiSxMTtbDOb5f

    • Geoffroy

      Membre
      13 mai 2022 à 18h02

      Finalement, tout marche bien. 🙂

      J’ai tout de même changé mon fusil d’épaule. La formule que j’avais choisie décale tout vers la droite. Il vaut mieux pousser les colonnes visibles vers la gauche.

      SubCommentID=slR8Fl0jIsfbwWs, CommentID=5Hif9QLncoPmExK, PostID=JpdiSxMTtbDOb5f

    • Alexandre

      Membre
      13 mai 2022 à 18h16

      Essaye à l’occasion les containers, ca demande un peu de maitrise et de se confronter à quelques problèmes, mais une fois que tu connais, tu fais des positionnements aux petits oignons

      SubCommentID=cyPWn6cWb8H7bLG, CommentID=5Hif9QLncoPmExK, PostID=JpdiSxMTtbDOb5f

    • DavidZed

      Membre
      14 mai 2022 à 17h32

      Bonjour,

      On voit sur votre screenshot que vous avez des labels en guise d’entête au dessus de la galerie.

      Il y a une astuce très simple qui consiste à donner aux labels / controles de la galerie les .X .Width et .Visible de vos labels d’entêtes (idéalement placés dans un container avec certains en largeur automatique pour rendre le tout responsive)

      SubCommentID=4TXTaHFE14Sq2wy, CommentID=5Hif9QLncoPmExK, PostID=JpdiSxMTtbDOb5f

  • R3dKap

    Membre
    15 mai 2022 à 19h31

    @Geoffroy WAGNER laisser tomber les formules… Utilise un contenu horizontal : tu vas voir ça va te changer la vie… 😀

    L’avantage du conteneur horizontal et du contenu vertical est que c’est lui qui se charge d’agencer automatiquement les contrôles qu’il contient afin qu’il n’y ait pas de trous lorsque certains d’entre eux sont masqués. Justement ce dont tu as besoin…

    N’hésite pas à revenir ici si tu as besoin d’aide… 😉

    CommentID=vFa6XBobJBwAQ3h, PostID=JpdiSxMTtbDOb5f

    • Geoffroy

      Membre
      15 mai 2022 à 19h57

      Merci @R3dKap , ça a l’air très intéressant en effet.

      J’ai donc testé un conteneur horizontal dans ma galerie en y insérant une étiquette mais je n’arrive pas à la déplacer à l’intérieur du conteneur, avec le menu Réorganiser.

      J’ai pourtant désactivé la mise à l’échelle. ☹️

      SubCommentID=6h20W6VfHbuVHHq, CommentID=vFa6XBobJBwAQ3h, PostID=JpdiSxMTtbDOb5f

  • R3dKap

    Membre
    15 mai 2022 à 20h14

    Tu peux déplacer ton libellé par rapport aux autres contrôles qui sont à côté de lui :

    Mais tu ne peux pas le déplacer “à la main” car sa position est gérée automatiquement par le conteneur. Tu peux aussi déplacer un contrôle à l’aide du menu contextuel du contrôle :

    Enfin, tu peux le faire avec les raccourcis clavier <Ctrl+)> et <Ctrl+^>.

    CommentID=14xFkmqvXs3DqsY, PostID=JpdiSxMTtbDOb5f

  • Geoffroy

    Membre
    15 mai 2022 à 20h32

    Merci beaucoup pour les explications. Je n’avais même pas pensé à en mettre une deuxième. 🙄

    Ca va effectivement être beaucoup plus simple à gérer 🙂

    CommentID=6WQl4y0KvGbizWh, PostID=JpdiSxMTtbDOb5f

Connectez-vous pour répondre.