Fond coloré alterné pour éléments d'une galerie

Étiquetté : , ,

  • Fond coloré alterné pour éléments d'une galerie

    Posté par Didier ALTIDE sur 28 février 2022 à 18h32

    Bonsoir à toute l’équipe,

    j’essaie dans une galerie de mettre un fond de couleur un élément sur deux pour faciliter la lecture de gauche à droite. Mes éléments sont dans une liste SPOL.
    Jusqu’à présent j’avais réussi en divisant l’ID de l’élément par 2…
    Mais le métier a demandé à pouvoir effacer des enregistrements, du coup cela ne marche plus 🙁

    Y aurait-il une propriété dans la galerie ou dans chaque élément de galerie sur lequel on pourrait se baser pour colorer ou non la ligne ?

    Merci d’avance,

    PostID=FOkfMAtQGFTJMMR

    R3dKap a répondu Il y a 11 mois, 4 semaines 1 Membre · 3 Réponses
  • 3 Réponses
  • R3dKap

    Membre
    28 février 2022 à 20h39

    Salut @Didier,

    Pas si simple qu’il n’y paraît… 😅

    Alors pour commencer, il faut t’assurer que dans le Items de ta galerie tu aies une collection plutôt qu’une formule un peu trop complexe.

    Puis dans ce Items de ta galerie, tu mets la formule suivante (remplace colTaCollection avec ta collection à toi et réécris peut-être correctement le nom de ta colonne ‘N° dossier’) :

    AddColumns(n    colTaCollection; n    "Index";n    CountRows(n        Split(n            First(n                Split(n                    Concat(n                         colTaCollection; n                         'N° dossier'; n                         "|"n                    ); n                    ThisRecord.'N° dossier'n                )n            ).Result; n            "|"n        )n    )n)

    Cette formule va te rajouter une colonne Index à ta collection, numérotée de 1 à N (N étant le nombre d’éléments que tu as dans ta collection).

    Pour que cela fonctionne il faut que ta colonne ‘N° dossier’ contienne des valeurs uniques pour chaque ligne de ta collection (pas de doublons de n° de dossier).

    Voilou… Du coup, tu pourras remettre en place ta division par 2 sur la colonne Index pour faire ta couleur de fond une fois sur 2, sachant que la colonne Index est calculée en temps réel, que tu ajoutes ou enlève des lignes à ta collection.

    Voilà un article que j’avais écris y’a pas mal de temps sur cette astuce pour avoir les index des éléments dans une galerie. Je l’ai juste adapté pour en faire directement une colonne dans le Items de ta galerie.

    CommentID=C3bDAubEEobgQId, PostID=FOkfMAtQGFTJMMR

  • Didier ALTIDE

    Membre
    1 mars 2022 à 13h39

    Hello @R3dKap et merci pour ta réponse.
    Je me souviens à présent d’avoir déjà vu ton ancien post fut un petit moment. Effectivement tu l’as adapté simplement sur le côté couleur 🙂
    Bien dommage qu’il n’y ait rien qui permette de faire plus simple au niveau du composant Galerie. Faudrait créer une suggestion à Microsoft… !
    Dans l’immédiat, pour cette feature à propos de laquelle personne ne m’a fait la réflexion, je vais éviter de passer par une collection qui m’imposerait une profonde refonte et d’autres soucis en cascade…
    Mais je te remercie très chaleureusement et je me le note pour la prochaine appli !

    CommentID=DUqw1wfoCrM51hd, PostID=FOkfMAtQGFTJMMR

  • R3dKap

    Membre
    2 mars 2022 à 10h28

    Pas de soucis… Ma recommandation de passer par une collection n’est pas rédhibitoire… C’est juste que la formule que tu avais jusque là dans le Items de ta galerie il te faudra la répéter 2x dans la formule que je t’ai donnée plus haut à la place de colTaCollection. Ca marchera nickel mais c’est juste que c’est pas hyper optimisé…

    CommentID=CVg50nxja9dtXuQ, PostID=FOkfMAtQGFTJMMR

Connectez-vous pour répondre.