Créer une formule dynamique à l’aide de contrôles et de fonctions

Effectué

L’exercice suivant crée une formule dynamique permettant de changer la valeur de la propriété DisplayMode d’un bouton à l’aide du contrôle Bouton et de la fonction UpdateContext.

  1. Accédez à Power Apps.

  2. Cliquez sur + Créer>Application vide>Créer (sous Application canevas vide). Nommez votre application et cliquez sur Créer.

  3. Sélectionnez l’option de menu Insérer et ajoutez un contrôle Bouton.

  4. Redéfinissez la propriété Text du contrôle Bouton sur Add.

    Conseil

    Vous pouvez modifier rapidement la propriété Text d’un contrôle Bouton en double-cliquant sur le contrôle lui-même en mode Édition.

  5. Insérez un autre contrôle Bouton et redéfinissez la propriété Text sur Clear.

  6. Ajoutez un contrôle Libellé de texte et un contrôle Saisie de texte au canevas.

  7. Redéfinissez le nom du contrôle Saisie de texte sur tiAmount et dans la propriété Default, supprimez « Saisie de texte ». Pour le Format**, saisissez TextFormat.Number. (Consultez l’image ci-dessous pour connaître l’emplacement des contrôles. L’image illustre l’exercice terminé.)

    Capture d’écran des contrôles organisés.

  8. Sélectionnez le bouton Add (Button1), puis définissez la propriété OnSelect sur :

    UpdateContext({RunningTotal: RunningTotal + Value(tiAmount.Text)})
    
  9. Sélectionnez le bouton Clear (Button2), puis définissez la propriété OnSelect sur :

    UpdateContext({RunningTotal: 0}); Reset (tiAmount)
    
  10. Définissez la propriété DisplayMode du bouton Effacer sur :

    If(RunningTotal > 0, DisplayMode.Edit, DisplayMode.Disabled)
    

    Notez qu’après avoir mis à jour la propriété DisplayMode, le bouton s’affiche grisé.

  11. Sélectionnez le contrôle Libellé (Label1) et redéfinissez la propriété Text sur notre variable de contexte : RunningTotal.

  12. Testez l’application en mode Aperçu. Dans le contrôle Saisie de texte, saisissez un nombre positif et cliquez sur le bouton Add.

    Dès que vous cliquez sur le bouton Add, le bouton Clear est de nouveau sélectionnable.

  13. Cliquez sur le bouton Clear pour effacer le champ de saisie et la variable de contexte RunningTotal.

    Dans cet exemple, une fonction If nous permet de déterminer si la variable de contexte RunningTotal est supérieure à 0. Si elle est supérieure à 0, le bouton Clear devient modifiable (DisplayMode.Edit). Si la variable n’a aucune valeur ou est égale à 0, notre bouton est désactivé (DisplayMode.disabled).

    Une autre façon d’obtenir la même fonctionnalité consiste à éviter la variable de contexte dans les formules. Dans ce cas, vous pouvez nommer un contrôle dans la formule DisplayMode. Par exemple, nous pourrions utiliser la valeur de notre contrôle Libellé dans la formule.

  14. Repassez l’application en mode Édition et sélectionnez votre bouton Clear. Sélectionnez la propriété DisplayMode et redéfinissez la formule comme suit :

    If(Value(Label1.Text) > 0, DisplayMode.Edit, DisplayMode.Disabled) 
    

    Comme notre contrôle Libellé stocke des informations sous forme de texte, n’oubliez pas d’utiliser la fonction Value. La fonction Value convertit une chaîne numérique de texte en nombre. Si vous essayez d’évaluer un texte par rapport à une valeur, une erreur s’affiche dans la formule. Inclure la propriété Text du contrôle Libellé dans un wrapper dans une fonction Value garantit que Power Apps l’interprète comme un nombre.

Au fur et à mesure que vous allez découvrir, développer et déployer d’autres applications, vous allez vous rendre compte qu’en général, plusieurs façons permettent de créer la même fonctionnalité à l’aide de contrôles, fonctions et propriétés différents.