Temporiser un bouton on_check de quelques secondes

Étiquetté : 

  • Temporiser un bouton on_check de quelques secondes

    Posté par gerald leffray sur 23 février 2023 à 14h28

    je voudrai temporiser mon submitform de mon bouton dans le oncheck afin de bien voir que l’on a effectué la manipulation , y a t’il un moyen ?

    PostID=Xphp6QgLHPkAUif

    gerald leffray a répondu Il y a 12 mois 1 Membre · 4 Réponses
  • 4 Réponses
  • R3dKap

    Membre
    23 février 2023 à 16h49

    gerald leffray attention, comme indiqué dans l’entête de l’espace Base de connaissance, celui-ci n’est pas destiné aux questions… 😉 Mais c’est pas grave, je vais juste déplacer ton post dans l’espace Power Apps… et t’y rajouter en tant que membre si tu n’y es pas encore.

    En attendant, sans parler d’aspect technique, que cherches-tu à faire ? Que veux tu dire par “…voir que l’on a effectué la manipulation…” ?

    CommentID=Br8Zazg7JoOCjEa, PostID=Xphp6QgLHPkAUif

  • gerald leffray

    Membre
    24 février 2023 à 7h16

    Merci pour le déplacement du post R3dKap.

    Dans mon cas je souhaite temporiser l’action d’enregistrement de mon on_check pour l’envoi de mon formulaire documenté, et ainsi avoir le temps de voir la couleur du bouton se faire, car derrière je remets vierge le formulaire

    CommentID=XFBAR706K1gDzip, PostID=Xphp6QgLHPkAUif

  • R3dKap

    Membre
    24 février 2023 à 17h17

    Je pense que je comprends ce que tu veux faire (j’espère 😊) : tu veux attendre un peu après l’envoi du formulaire pour réinitialiser le formulaire seulement après la fin de l’envoi.

    Si c’est ça ce que tu veux faire alors je vais te parler d’abord de 2 événements très importants qui existent sur un formulaire Power Apps :

    • OnSuccess : cet événement se déclenche si le SubmitForm() s’est bien passé et que ta source de données a bien été mise à jour ; c’est dans cet événement que tu vas par exemple mettre un Notify("Données enregistrée avec succès."; NotificationType.Success) ; dans cet événement tu peux utiliser la propriété LastSubmit du formulaire pour exploiter toutes les colonnes de l’enregistrement qui vient d’être créé ou modifié

    • OnFailure : cet événement se déclenche si le SubmitForm() ne se passe pas bien et qu’il y a eu une erreur à l’envoi du formulaire ; et dans cet événement tu peux par exemple afficher un message d’erreur avec Notify("Une erreur s'est produite à l'enregistrement"; NotificationType.Error) ; tu peux alors utiliser la fonction Errors() pour identifier les erreurs sur ta source de données

    Donc, dans ton cas, normalement tu devrais mettre le NewForm() dans l’événement OnSuccess du formulaire. Mais habituellement on ne fait pas comme ça.

    La bonne pratique c’est faire comme ceci :

    • Sur le bouton ou l’icône qui permet de CREER une nouvelle ligne dans la source de données on mets le NewForm()

    • Sur le bouton ou l’icône qui permet de MODIFIER une ligne de la source de données on mets le EditForm()

    • Sur l’écran du formulaire on a un bouton ou un icône pour ENREGISTRER les données où on met le SubmitForm() (on ne mets normalement jamais de code après un SubmitForm() car l’envoi du formulaire prend du temps et on ne sait pas combien de temps)

    • Si on a quelque chose à faire APRES la soumission du formulaire on le fait dans le OnSuccess du formulaire

    Est-ce que tu vois la logique ?

    CommentID=8PEtDyRlHVNSBkP, PostID=Xphp6QgLHPkAUif

  • gerald leffray

    Membre
    27 février 2023 à 14h59

    Ok, merci , j’enchaine les étapes sur une seul brique de fonction, ce qui n’est pas la bonne solution

    CommentID=z749aSO3jCoWtnb, PostID=Xphp6QgLHPkAUif

Connectez-vous pour répondre.