Attribut d'une valeur par défaut dans une collection Power Apps

Étiquetté : ,

  • Attribut d'une valeur par défaut dans une collection Power Apps

    Posté par Aurèle sur 3 avril 2023 à 15h54

    Bonjour,

    J’ai un formulaire de contact où l’on peut renseigner un ou plusieurs destinataires, qui sont à chaque fois ajouté à une collection “MyCollect” (voir image jointe), mais j’aimerais qu’un destinataire précis soit systématiquement présent dans la collection dès le chargement de la page. Autrement dit, le destinataire en question est par défaut ajouté à la liste des destinataires, mais il peut bien sûr y être retiré par l’utilisateur.

    Je ne sais pas encore comment faire cela, toute aide serait la bienvenue.

    En vous remerciant par avance,

    PostID=S2lGvxevaSGA6TJ

    Aurèle a répondu Il y a 7 mois, 4 semaines 1 Membre · 8 Réponses
  • 8 Réponses
  • ypicot

    Membre
    3 avril 2023 à 17h39

    Bonjour

    Peux-tu être plus précis ? Veux-tu

    • Déclencher un événement au chargement de la page ? (propriété OnVisible d’une page)

    • Ajouter un élément par défaut si la collection est vide (If (IsEmpty(MyPeople); … ) ?

    • Autre ?

    CommentID=uGu13NBdldYxiFb, PostID=S2lGvxevaSGA6TJ

  • Aurèle

    Membre
    4 avril 2023 à 10h27

    Bonjour,

    J’aimerais qu’au chargement de la page, à chaque fois que l’utilisateur y accède via le menu principal, une adresse mail précise figure déjà dans la liste des destinataires, qui est stockée dans une collection. En fait, dans la majorité du temps, cette email sera l’unique destinataire, c’est pour cela que j’aimerais qu’elle apparaisse par défaut afin d’éviter à l’utilisateur de systématiquement la saisir. Dans le cas où l’utilisateur souhaiterait modifier les destinataires, il peut supprimer de la liste (donc de la collection) l’email en question ou bien la conserver et en ajouter d’autres.

    Cdt,

    CommentID=XvR4YVMikqKFFzn, PostID=S2lGvxevaSGA6TJ

  • ypicot

    Membre
    4 avril 2023 à 15h47

    Et que se passe-t-il si l’utilisateur renseigne la liste (en ajoutant un autre email par exemple), ferme la page puis revient sur cette page ? A-t-il perdu l’email qu’il a ajouté ou pas ? En d’autres termes, est-ce que la page est remise à zéro à chaque fois qu’elle est affichée conserve-t-elle les valeurs précédente ?

    CommentID=sHHfiTbveBnxyRr, PostID=S2lGvxevaSGA6TJ

  • Aurèle

    Membre
    5 avril 2023 à 14h47

    Bonjour,

    Une fois qu’une adresse mail est renseignée dans la liste des destinataires, elle y reste tant que l’application n’est pas fermée ou jusqu’à ce que le mail soit envoyé. Le fait de sélectionner une email dans la barre de recherche ajoute cette email à la collection, donc elle y reste jusqu’au nettoyage (clear) ou reset de la collection.

    Ce que je souhaiterais, c’est avoir par défaut une email précise présente dans la liste à chaque fois qu’on accède à la page, sauf si on y a déjà accédé auparavant et qu’on a supprimé cette email mais sans envoyer le mail ni fermer l’application (= sans que la collection soit clear / reset). Ainsi, à chaque fois que la collection est clear / reset, il faut que l’email que je veux garder soit rajoutée dans la collection. Par contre, si l’utilisateur la supprime de la collection, elle ne reviendra qu’après un clear ou reset de la collection.

    J’espère avoir été clair, je peux essayer de faire un logigramme sinon, ce sera sûrement plus clair et plus visuel.

    Cdt,

    CommentID=CjVGh9M9z8QNzSI, PostID=S2lGvxevaSGA6TJ

  • Geoffroy

    Membre
    5 avril 2023 à 16h47

    Bonjour Aurèle

    Et en mettant ClearCollect(MyCollect;{“ton contact par défaut”}) dans OnStart ?

    CommentID=NREuwLp5B4BVW3D, PostID=S2lGvxevaSGA6TJ

  • ypicot

    Membre
    6 avril 2023 à 7h18

    Je verrais qque chose d’un poil plus long, puisque (si j’ai bien compris) il faut mettre l’email par défaut uniquement si la collection est vide.

    Donc, dans la propriété OnStart de l’écran :
    (edit : bonne remarque Geoffroy WAGNER , à mettre sur le OnVisible car OnStart n’existe pas sur l’écran 😄 )

    IsEmpty(MyCollect);n    Collect(n        MyCollect;n        {mail: "mon.email"}n    )n)

    CommentID=ACqQfEpzCa4sXSC, PostID=S2lGvxevaSGA6TJ

    • Geoffroy

      Membre
      6 avril 2023 à 7h50

      Oui, c’est mieux effectivement de le mettre lors de l’accès à l’écran (propriété OnVisible)

      SubCommentID=yxlm8e7kR2KpUFJ, CommentID=ACqQfEpzCa4sXSC, PostID=S2lGvxevaSGA6TJ

    • Aurèle

      Membre
      17 avril 2023 à 15h01

      Bonjour,

      Merci pour vos réponses qui conviennent très bien à ce que je veux.

      SubCommentID=hmrbN58Df7qqeYx, CommentID=ACqQfEpzCa4sXSC, PostID=S2lGvxevaSGA6TJ

Connectez-vous pour répondre.