Items triés avec fond coloré dans Galerie.

Étiquetté : 

  • Items triés avec fond coloré dans Galerie.

    Posté par Mickael sur 18 juin 2023 à 19h24

    Bonjour,

    Je cherche a avoir un genre de tri dans une galerie avec un système de couleur.

    Je souhaiterais que tous les items affichés dans ma galerie ayant le même titre aient un fond de même couleur. J’ai pas mal cherché sur les forums et j’ai bien peur que ce ne soit pas possible

    Petite précision, je ne maîtrise pas le contenu de ce titre, ce qui m’empêche de passer par une fonction Match.

    Merci d’avance.

    PostID=GT9vwXdtq3VgIev

    Mickael a répondu Il y a 9 mois, 3 semaines 1 Membre · 6 Réponses
  • 6 Réponses
  • R3dKap

    Membre
    18 juin 2023 à 20h44

    Salut Mickael,

    As-tu essayé de mettre une formule de ce type dans la propriété TemplateFill de ta galerie :

    If(ThisItem.Titre="toto"; RGBA(255;0;0;1); RGBA(0;0;0;0))

    CommentID=Qxsx2lu90ogRdd4, PostID=GT9vwXdtq3VgIev

    • Mickael

      Membre
      18 juin 2023 à 21h09

      Le problème est que je ne maîtrise pas les titres.

      Pour expliquer le contexte, la galerie a 2 filtres (Item créé par l’user connecté et sur un statut.

      J’ai un cbx qui est également filtré sur ces 2 conditions.

      Lorsque ce cbx est vide, la galerie affiche tous les items concernés par les 2 filtres et lorsque le cbx est renseigné, alors la galerie n’affiche que les items répondant aux 2 filtres + le titre renseigné dans le cbx.

      Le but est donc de pouvoir différencier les items (avc de la couleur) pour les items ayant le même titre, et avoir un visuel avant la sélection dans le cbx.

      Ce titre est generé par l’utilisateur qui crée l’item via un formulaire.

      Mais je doute que ce faisable.

      Merci tout de même d’avoir répondu Emmanuel.

      SubCommentID=lWN22tPodkMH4AN, CommentID=Qxsx2lu90ogRdd4, PostID=GT9vwXdtq3VgIev

    • R3dKap

      Membre
      19 juin 2023 à 8h14

      Ok, j’ai pigé… Alors si, c’est faisable : tu dois construire une collection qui liste tous les titres de ta galerie de manière unique et en face de chaque titre tu mets une couleur (que tu pioches par exemple dans une liste de couleurs que tu auras définie préalablement). Puis sur ta galerie tu définis la propriété TemplateFill en te basant sur cette collection.

      Voilà comment faire :

      En gros :

      • tu te prépares une collection avec les couleurs disponibles (là évidemment il en faudra une quantité suffisante pour être sûr d’avoir une couleur pour chaque titre -> ça dépend du nombre max de titres différents que tu pourras avoir dans la galerie -> sinon faut générer des couleurs aléatoire mais là je sais pas trop comment obtenir un résultat potable, y’a p’têt des algos sur le net)

      • colData ce sont les données de ta galerie (je l’ai créé juste pour l’exemple)

      • colTitles c’est une collection avec tous les titres de ta galerie qui sont uniques (dans le Distinct() remplace Value par ta colonne de titre)

      Et après, dans ta galerie, sur la propriété TemplateFill :

      LookUp(colTitles; Value=ThisItem.Title).Color

      A toi de remplacer Value par la colonne qui portera les titres dans ta collection colTitles

      Et voilou… 😉

      SubCommentID=j0p7j9lPaLEvnDx, CommentID=Qxsx2lu90ogRdd4, PostID=GT9vwXdtq3VgIev

  • Mickael

    Membre
    19 juin 2023 à 12h38

    R3dKap

    Merci pour ta réponse.

    Pour commencer, dans la formule qui consiste à créer la collection colData, si j’ai bien compris, il faudrait que j’entre chaque titre (ClearCollect(colData,”Titre 1″, “Titre 2”, “Titre 1”, …) sauf que je ne connais pas les titres à l’avance.

    J’ai donc fait cela :

    ClearCollect(colData,Gallery.AllItems) je ne sais pas si j’ai bien fait.

    A la différence, dans ma collection colTitles, la colonne en question est bien “Valeur” donc j’ai laissé ta formule telle quelle dans le TemplateFill de la galerie.

    Sinon tout à l’air de coller, pas d’erreur dans les formules, par contre, rien ne se passe.

    EDIT : No troubles, c’est moi qui ai fais une erreur dans la formule TemplateFill :

    LookUp(colTitles, Value = ThisItem.Title).Color

    au lieu de :

    LookUp(colTitles, Value = ThisItem.Titre).Color

    Merci beaucoup Emmanuel, avec toi c’est toujours solutions clé en main 👍

    CommentID=deKJuwI5GHhQK7n, PostID=GT9vwXdtq3VgIev

  • R3dKap

    Membre
    19 juin 2023 à 20h12

    Oui oui tu as bien fait, c’est bien ça qu’il fallait faire : moi j’ai créé une collection colData pour simuler ta galerie avec tes titres… Après, dans ta colData à toi tu peux limiter les colonnes à juste la colonne Titre de la manière suivante :

    ClearCollect(colData, ShowColumns(Gallery.AllItems,"Titre"))

    Et puis finalement, la collection colData tu peux t’en passer en écrivant directement :

    ClearCollect(colTitles, AddColumns(Distinct(ShowColumns(Gallery.AllItems,"Titre"), Titre), "Color", Color.Transparent)

    😉

    CommentID=vaHQNB1uMqjyFha, PostID=GT9vwXdtq3VgIev

  • Mickael

    Membre
    20 juin 2023 à 11h12

    Top! Merci.

    CommentID=lMnxah0vDToqlhd, PostID=GT9vwXdtq3VgIev

Connectez-vous pour répondre.