Fonction UpdateContext dans PowerAppsUpdateContext function in PowerApps

Crée ou met à jour des variables de contexte de l’écran actuel.Creates or updates context variables of the current screen.

Vue d’ensembleOverview

Utilisez la fonction UpdateContext pour créer une variable de contexte qui stocke temporairement une partie des informations, telles que le nombre de fois où l’utilisateur a sélectionné un bouton ou le résultat d’une opération de données.Use the UpdateContext function to create a context variable, which temporarily holds a piece of information, such as the number of times the user has selected a button or the result of a data operation.

Les variables de contexte sont limitées à un écran, ce qui signifie que vous ne pouvez pas créer une formule qui fait référence à une variable de contexte située dans un autre écran.Context variables are scoped to a screen, which means that you can't build a formula that refers to a context variable on another screen. Si vous avez déjà utilisé un autre outil de programmation, vous pouvez considérer une variable de contexte comme une variable locale.If you've used another programming tool, you can think of a context variable as similar to a local variable. Utilisez la fonction Set pour travailler avec des variables globales qui sont disponibles dans l’ensemble de votre application.Use the Set function to work with global variables that are available throughout your app.

Les applications PowerApps dépendent de formules recalculées automatiquement lorsque l’utilisateur interagit avec une application.PowerApps are based on formulas that automatically recalculate as the user interacts with an app. Les variables de contexte ne proposent pas cet avantage et peuvent compliquer la création et la compréhension de votre application.Context variables don't offer this benefit and can make your app harder to create and understand. Avant d’utiliser une variable de contexte, consultez la section relative à l’utilisation des variables.Before you use a context variable, review working with variables.

DescriptionDescription

Pour créer ou mettre à jour une variable de contexte, transmettez un seul enregistrement à la fonction UpdateContext.To create or update a context variable, pass a single record to the UpdateContext function. Dans chaque enregistrement, spécifiez le nom d’une colonne, qui définit le nom de la variable ou y correspond, ainsi que la valeur sur laquelle vous voulez définir cette variable.In each record, specify the name of a column, which defines or matches the name of the variable, and the value to which you want to set that variable.

  • Si vous spécifiez le nom d’une variable que vous avez précédemment définie, UpdateContext définit la valeur de la variable sur celle que vous spécifiez.If you specify the name of a variable that you've previously defined, UpdateContext sets the value of the variable to the value that you specify.
  • Si vous spécifiez le nom d’une variable qui n’existe pas encore, UpdateContext crée une variable portant ce nom et définit la valeur de cette variable sur celle que vous spécifiez.If you specify the name of a variable that doesn't yet exist, UpdateContext creates a variable with that name and sets the value of that variable to the value that you specify.
  • Si vous avez précédemment défini une variable, mais que vous ne la spécifiez pas dans cette formule UpdateContext en particulier, sa valeur reste la même.If you've previously defined a variable but don't specify it in this particular UpdateContext formula, its value remains the same.

Les variables de contexte sont créées implicitement à l’aide de la fonction UpdateContext ou Navigate.Context variables are implicitly created by using the UpdateContext or Navigate function. Aucune déclaration explicite n’est requise.There is no explicit declaration required. Si vous supprimez tous les références UpdateContext et Navigate à une variable de contexte, celle-ci cesse d’exister.If you remove all the UpdateContext and Navigate references to a context variable, then that context variable will cease to exist. Pour effacer une variable, définissez sa valeur sur le résultat de la fonction Blank.To clear a variable set its value to the result of the Blank function.

Vous pouvez voir les valeurs, les définitions et les utilisations des variables avec la vue Variables sous le menu Fichier dans l’environnement de création.You can see your variables' values, definitions, and uses with the Variables view under the File menu in the authoring environment.

Vous pouvez référencer une variable de contexte dans une formule à l’aide du nom de colonne de la variable.You reference a context variable in a formula by using the variable's column name. Par exemple, UpdateContext( { ShowLogo: true } ) crée une variable de contexte nommée ShowLogo et définit sa valeur sur true.For example, UpdateContext( { ShowLogo: true } ) creates a context variable named ShowLogo and sets its value to true. Vous pouvez ensuite utiliser la valeur de cette variable de contexte en utilisant le nom ShowLogo dans une formule.You can then use the value of this context variable by using the name ShowLogo in a formula. Vous pouvez écrire ShowLogo en tant que formule de la propriété Visible d’un contrôle d’image et afficher ou masquer ce contrôle en fonction de la valeur de la variable de contexte (true ou false).You can write ShowLogo as the formula for the Visible property of an image control and show or hide that control based on whether the value of the context variable is true or false.

Comme le montrent les exemples plus loin dans cette rubrique, les variables de contexte peuvent contenir plusieurs types d’informations, notamment :As the examples later in this topic show, context variables can hold several kinds of information, including these:

  • une valeur unique ;a single value
  • un enregistrement ;a record
  • un tableau ;a table
  • une référence d’objet ;an object reference
  • un résultat de formule.any result from a formula

Une variable de contexte conserve sa valeur jusqu’à ce que l’application soit fermée.A context variable holds its value until the app is closed. Si vous définissez une variable de contexte et définissez sa valeur sur un écran spécifique, cette information est conservée même si l’utilisateur bascule vers un autre écran.If you define a context variable and set its value on a particular screen, that information remains intact even if the user switches to a different screen. Une fois que l’application est fermée, la valeur de la variable de contexte est perdue et doit être recréée lorsque l’application est rechargée.Once the app is closed, the context variable's value will be lost and must be recreated when the app is loaded again.

Chaque variable de contexte porte sur un écran.Every context variable is scoped to a screen. Si vous souhaitez définir une variable de contexte sur un écran et la modifier à partir d’un autre écran, vous devez créer une formule basée sur la fonction Navigate.If you want to define a context variable on one screen and modify that variable from another screen, you must build a formula that's based on the Navigate function. Vous pouvez également utiliser une variable globale.Or use a global variable.

UpdateContext n’a aucune valeur de retour, et vous pouvez l’utiliser uniquement dans une formule de comportement.UpdateContext has no return value, and you can use it only within a behavior formula.

SyntaxeSyntax

UpdateContext( UpdateRecord )UpdateContext( UpdateRecord )

  • UpdateRecord – Requis.UpdateRecord – Required. Enregistrement qui contient le nom d’au moins une colonne et une valeur pour cette colonne.A record that contains the name of at least one column and a value for that column. Une variable de contexte est créée ou mise à jour pour chaque colonne et valeur que vous spécifiez.A context variable is created or updated for each column and value that you specify.

UpdateContext( { ContextVariable1: Value1 [, ContextVariable2: Value2 [, ... ] ] } )UpdateContext( { ContextVariable1: Value1 [, ContextVariable2: Value2 [, ... ] ] } )

  • ContextVariable1 - Requis.ContextVariable1 - Required. Nom d’une variable de contexte à créer ou à mettre à jour.The name of a context variable to create or update.
  • Value1 - Requis.Value1 - Required. Valeur à affecter à la variable de contexte.The value to assign to the context variable.
  • ContextVariable2: Value2, ... - Facultatif.ContextVariable2: Value2, ... - Optional. Variables de contexte supplémentaires pour créer ou mettre à jour leurs valeurs.Additional context variables to create or update and their values.

ExemplesExamples

FormuleFormula DescriptionDescription RésultatResult
UpdateContext( { Counter: 1 } )UpdateContext( { Counter: 1 } ) Crée ou modifie la variable de contexte Counter, en lui attribuant la valeur 1.Creates or modifies the context variable Counter, setting its value to 1. Counter a la valeur 1.Counter has the value 1. Vous pouvez référencer cette variable en utilisant le nom Counter dans une formule.You can reference that variable by using the name Counter in a formula.
UpdateContext( { Counter: 2 } )UpdateContext( { Counter: 2 } ) Définit la valeur de la variable de contexte Counter de l’exemple précédent sur 2.Sets the value of the Counter context variable from the previous example to 2. Counter a la valeur 2.Counter has the value 2.
UpdateContext( { Name: "Lily", Score: 10 } )UpdateContext( { Name: "Lily", Score: 10 } ) Crée ou modifie les variables de contexte Name et Score, en leur attribuant respectivement les valeurs Lily et 10.Creates or modifies the context variables Name and Score, setting their values to Lily and 10 respectively. Name a la valeur Lily, et Score a la valeur 10.Name has the value Lily, and Score has the value 10.
UpdateContext( { Person: { Name: "Milton", Address: "1 Main St" } } )UpdateContext( { Person: { Name: "Milton", Address: "1 Main St" } } ) Crée ou modifie la variable de contexte Person, en définissant sa valeur sur un enregistrement.Creates or modifies the context variable Person, setting its value to a record. L’enregistrement contient deux colonnes nommées Name et Address.The record contains two columns, named Name and Address. La valeur de la colonne Name est Milton et la valeur de la colonne Address est 1 Main St.The value of the Name column is Milton, and the value of the Address column is 1 Main St. Person a la valeur de l’enregistrement { Name: "Milton", Address: "1 Main St" } }.Person has the value of record { Name: "Milton", Address: "1 Main St" } }.

Référencez cet enregistrement dans son ensemble avec le nom Person, ou référencez une colonne individuelle de cet enregistrement avec Person.Name ou Person.Address.Reference this record as a whole with the name Person, or reference an individual column of this record with Person.Name or Person.Address.
UpdateContext( { Person: Patch( Person, {Address: "2 Main St" } ) } )UpdateContext( { Person: Patch( Person, {Address: "2 Main St" } ) } ) Utilise la fonction Patch pour mettre à jour la variable de contexte Person en définissant la valeur de la colonne Address sur 2 Main St.Works with the Patch function to update the Person context variable by setting the value of the Address column to 2 Main St. Person a désormais la valeur de l’enregistrement { Name: "Milton", Address: "2 Main St" } }.Person now has the value of record { Name: "Milton", Address: "2 Main St" } }.

Exemple étape par étapeStep-by-step example

  1. Nommez l’écran par défaut Source, ajoutez un autre écran et nommez-le Cible.Name the default screen Source, add another screen, and name it Target.
  2. Sur l’écran Source, ajoutez deux boutons et définissez leur propriété Text de sorte que le premier indique English et l’autre Spanish.On the Source screen, add two buttons, and set their Text properties so that one says English and the other says Spanish.
  3. Définissez la propriété OnSelect du bouton English sur l’expression suivante :Set the OnSelect property of the English button to this expression:
    Navigate(Target, ScreenTransition.Fade, {Language:"English"})Navigate(Target, ScreenTransition.Fade, {Language:"English"})
  4. Définissez la propriété OnSelect du bouton Spanish sur l’expression suivante :Set the OnSelect property of the Spanish button to this expression:
    Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})
  5. Sur l’écran Cible, ajoutez un libellé et définissez sa propriété Text sur cette expression :On the Target screen, add a label, and set its Text property to this expression:
    If(Language="English", "Hello!", "Hola!")If(Language="English", "Hello!", "Hola!")
  6. Sur l’écran Cible, sélectionnez Formes dans l’onglet Insertion, puis sélectionnez la flèche Précédent.On the Target screen, select Shapes on the Insert tab, and then select the Back arrow.
  7. Définissez la propriété OnSelect de la flèche Précédent sur la formule suivante :Set the Back arrow's OnSelect property to this formula:
    Navigate(Source, ScreenTransition.Fade)Navigate(Source, ScreenTransition.Fade)
  8. Sur l’écran Source, appuyez sur F5, puis sélectionnez le bouton de l’une des deux langues.From the Source screen, press F5, and then select the button for either language.

    Sur l’écran Cible, le libellé s’affiche dans la langue qui correspond au bouton que vous avez sélectionné.On the Target screen, the label appears in the language that corresponds to the button that you selected.

  9. Sélectionnez la flèche Précédent pour revenir à l’écran Source, puis sélectionnez le bouton de l’autre langue.Select the Back arrow to return to the Source screen, and then select the button for the other language.

    Sur l’écran Cible, le libellé s’affiche dans la langue qui correspond au bouton que vous avez sélectionné.On the Target screen, the label appears in the language that corresponds to the button that you selected.

  10. Appuyez sur Échap pour revenir à l’espace de travail par défaut.Press Esc to return to the default workspace.

Autre exempleAnother example