Funktion „UpdateContext“ in PowerAppsUpdateContext function in PowerApps

Erstellt oder aktualisiert die Kontextvariablen des aktuellen Bildschirms.Creates or updates context variables of the current screen.

ÜbersichtOverview

Verwenden Sie die UpdateContext-Funktion zum Erstellen einer Kontextvariablen, die vorübergehend eine Information enthält, wie z.B. wie oft ein Benutzer auf eine Schaltfläche geklickt hat oder das Ergebnis eines Datenvorgangs.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.

Kontextvariablen beziehen sich auf einem Bildschirm, was bedeutet, dass eine Formel, die auf eine Kontextvariable auf einem anderen Bildschirm verweist, nicht erstellt werden kann.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. Wenn Sie eine anderes Programmiertool verwendet haben, können Sie sich eine Kontextvariable wie eine lokale Variable vorstellen.If you've used another programming tool, you can think of a context variable as similar to a local variable. Verwenden Sie die Set-Funktion , um mit globalen Variablen zu arbeiten, die in der App verfügbar sind.Use the Set function to work with global variables that are available throughout your app.

PowerApps basiert auf Formeln, die automatisch neu berechnet werden, während der Benutzer mit einer App interagiert.PowerApps are based on formulas that automatically recalculate as the user interacts with an app. Kontextvariablen haben nicht diesen Vorteil und können das Erstellen und Verstehen Ihrer App erschweren.Context variables don't offer this benefit and can make your app harder to create and understand. Konsultieren Sie vor der Verwendung einer Kontextvariablen den Artikel Working with Variables (Mit Variablen arbeiten).Before you use a context variable, review working with variables.

BeschreibungDescription

Übergeben Sie zum Erstellen oder Aktualisieren einer Kontextvariable einen einzelne Datensatz an die UpdateContext-Funktion.To create or update a context variable, pass a single record to the UpdateContext function. Geben Sie in jedem Datensatz den Namen einer Spalte an, die den Namen der Variablen und den festzulegenden Wert definiert oder diesem entspricht.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.

  • Wenn Sie den Namen einer Variablen, die Sie zuvor festgelegt haben, angeben, legt UpdateContext den Wert der Variablen auf den Wert fest, den Sie angeben.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.
  • Wenn Sie den Namen einer Variablen, die noch nicht vorhanden ist, angeben, erstellt UpdateContext eine Variable mit diesem Namen und legt den Wert dieser Variablen auf den Wert fest, den Sie angeben.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.
  • Wenn Sie zuvor eine Variable definiert haben, aber diese nicht in dieser UpdateContext-Formel angeben haben, bleibt deren Wert unverändert.If you've previously defined a variable but don't specify it in this particular UpdateContext formula, its value remains the same.

Kontextvariablen werden implizit mithilfe der UpdateContext- oder der Navigate-Funktion erstellt.Context variables are implicitly created by using the UpdateContext or Navigate function. Eine explizite Deklaration ist nicht erforderlich.There is no explicit declaration required. Wenn Sie sämtliche Verweise von UpdateContext und Navigate auf eine Kontextvariable entfernen, ist die betreffende Kontextvariable nicht mehr vorhanden.If you remove all the UpdateContext and Navigate references to a context variable, then that context variable will cease to exist. Legen Sie zum Leeren einer Variablen ihren Wert auf das Ergebnis der Blank-Funktion fest.To clear a variable set its value to the result of the Blank function.

Sie können die Werte, Definitionen und Verwendungen Ihrer Variablen in der Ansicht „Variablen“ unter dem Menü „Datei“ in der Erstellungsumgebung anzeigen.You can see your variables' values, definitions, and uses with the Variables view under the File menu in the authoring environment.

Sie verweisen anhand des Spaltennamens der Variablen auf eine Kontextvariable in einer Formel.You reference a context variable in a formula by using the variable's column name. UpdateContext( { ShowLogo: true } ) erstellt z.B. eine Kontextvariable mit dem Namen ShowLogo und legt deren Wert auf TRUE fest.For example, UpdateContext( { ShowLogo: true } ) creates a context variable named ShowLogo and sets its value to true. Anschließend können Sie den Wert dieser Kontextvariablen mit dem Namen ShowLogo in einer Formel verwenden.You can then use the value of this context variable by using the name ShowLogo in a formula. Sie können ShowLogo als Formel für die Eigenschaft Visible eines Bildsteuerelements schreiben und dieses Steuerelement anzeigen oder verbergen, abhängig davon, ob der Wert der Variable TRUE oder FALSE ist.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.

Wie in den Beispielen weiter unten in diesem Thema gezeigt, können Kontextvariablen verschiedene Arten von Informationen enthalten, u.a. folgende:As the examples later in this topic show, context variables can hold several kinds of information, including these:

  • einen einzelnen Werta single value
  • einen Datensatza record
  • eine Tabellea table
  • einen Objektverweisan object reference
  • jedes Ergebnis einer Formelany result from a formula

Eine Kontextvariable behält ihren Wert bei, bis die App geschlossen wird.A context variable holds its value until the app is closed. Wenn Sie eine Kontextvariable definieren und Sie deren Wert auf einem bestimmten Bildschirm festlegen, bleibt diese Informationen erhalten, selbst wenn der Benutzer zu einem anderen Bildschirm wechselt.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. Sobald die App geschlossen wird, geht der Wert der Kontextvariablen verloren; er muss neu erstellt werden, wenn die App wieder geladen wird.Once the app is closed, the context variable's value will be lost and must be recreated when the app is loaded again.

Jede Kontextvariable ist auf einen Bildschirm begrenzt.Every context variable is scoped to a screen. Wenn Sie eine Kontextvariable auf einem Bildschirm definieren und diese Variable auf einem anderen Bildschirm ändern möchten, müssen Sie eine Formel basierend auf der Navigate-Funktion erstellen.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. Sie können auch eine globale Variable verwenden.Or use a global variable.

UpdateContext weist keinen Rückgabewert auf; Sie können diese Funktion nur innerhalb einer Verhaltensformel verwenden.UpdateContext has no return value, and you can use it only within a behavior formula.

SyntaxSyntax

UpdateContext( UpdateRecord )UpdateContext( UpdateRecord )

  • UpdateRecord: erforderlich.UpdateRecord – Required. Ein Datensatz, der den Namen von mindestens eine Spalte und eine Wert für diese Spalte enthält.A record that contains the name of at least one column and a value for that column. Eine Kontextvariable wird für jede Spalte und den von Ihnen angegebenen Wert erstellt oder aktualisiert.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 [, ... ] ] } )

  • Kontextvariable1: erforderlich.ContextVariable1 - Required. Der Name der zu erstellenden oder zu aktualisierenden KontextvariablenThe name of a context variable to create or update.
  • Wert1: erforderlich.Value1 - Required. Der der Kontextvariablen zuzuweisende WertThe value to assign to the context variable.
  • Kontextvariable2: Wert2,...: optional.ContextVariable2: Value2, ... - Optional. Zusätzliche zu erstellende oder zu aktualisierende Kontextvariablen und deren WerteAdditional context variables to create or update and their values.

BeispieleExamples

FormelFormula BeschreibungDescription ErgebnisResult
UpdateContext( { Counter: 1 } )UpdateContext( { Counter: 1 } ) Erstellt oder ändert die Counter-Kontextvariable und legt deren Wert auf 1 festCreates or modifies the context variable Counter, setting its value to 1. Counter hat den Wert 1.Counter has the value 1. Mit dem Namen Counter können Sie in einer Formel auf diese Variable verweisen.You can reference that variable by using the name Counter in a formula.
UpdateContext( { Counter: 2 } )UpdateContext( { Counter: 2 } ) Legt den Wert für die Counter-Kontextvariable aus dem vorherigen Beispiel auf 2 festSets the value of the Counter context variable from the previous example to 2. Counter hat den Wert 2.Counter has the value 2.
UpdateContext( { Name: "Lily", Score: 10 } )UpdateContext( { Name: "Lily", Score: 10 } ) Erstellt oder ändert die Kontextvariablen Name und Score und legt deren Werte auf Lily bzw. 10 fest.Creates or modifies the context variables Name and Score, setting their values to Lily and 10 respectively. Name hat den Wert Lily, und Score hat den Wert 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" } } ) Erstellt oder ändert die Kontextvariable Person und legt deren Wert auf einen Datensatz fest.Creates or modifies the context variable Person, setting its value to a record. Der Datensatz enthält zwei Spalten mit den Namen Name und Address.The record contains two columns, named Name and Address. Der Wert der Name-Spalte ist Milton, und der Wert der Address-Spalte ist 1 Main St.The value of the Name column is Milton, and the value of the Address column is 1 Main St. Person hat den Wert des Datensatzes { Name: "Milton", Address: "1 Main St" } }.Person has the value of record { Name: "Milton", Address: "1 Main St" } }.

Verweisen Sie mit dem Namen Person auf den kompletten Datensatz, oder verweisen Sie auf eine einzelne Spalte dieses Datensatzes mit Person.Name oder 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" } ) } ) Arbeitet mit der Patch-Funktion zusammen, um die Person-Kontextvariable durch Festlegen des Werts von der Address-Spalte auf 2 Main St zu aktualisieren.Works with the Patch function to update the Person context variable by setting the value of the Address column to 2 Main St. Person hat nun den Wert des Datensatzes { Name: "Milton", Adresse: "2 Main St" } }.Person now has the value of record { Name: "Milton", Address: "2 Main St" } }.

Schritt-für-Schritt-BeispielStep-by-step example

  1. Benennen Sie den Bildschirm Quelle, fügen Sie einen anderen Bildschirm hinzu, und nennen Sie diesen Ziel.Name the default screen Source, add another screen, and name it Target.
  2. Fügen Sie auf dem Bildschirm Quelle zwei Schaltflächen hinzu, und legen Sie ihre Text-Eigenschaften so fest, dass eine Englisch und die andere Spanisch ist.On the Source screen, add two buttons, and set their Text properties so that one says English and the other says Spanish.
  3. Legen Sie die OnSelect-Eigenschaft der Schaltfläche Englisch auf folgenden Ausdruck fest:Set the OnSelect property of the English button to this expression:
    Navigate(Target, ScreenTransition.Fade, {Language:"English"})Navigate(Target, ScreenTransition.Fade, {Language:"English"})
  4. Legen Sie die OnSelect-Eigenschaft der Schaltfläche Spanisch auf folgenden Ausdruck fest:Set the OnSelect property of the Spanish button to this expression:
    Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})
  5. Fügen Sie auf dem Bildschirm Ziel eine Bezeichnung hinzu, und legen deren Text-Eigenschaft auf folgenden Ausdruck fest: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. Wählen Sie auf dem Bildschirm Ziel auf der Registerkarte Einfügen Shapes (Formen) aus, und wählen Sie dann den Rückwärtspfeil.On the Target screen, select Shapes on the Insert tab, and then select the Back arrow.
  7. Legen Sie die OnSelect-Eigenschaft des Rückwärtspfeils auf folgende Formel fest:Set the Back arrow's OnSelect property to this formula:
    Navigate(Source, ScreenTransition.Fade)Navigate(Source, ScreenTransition.Fade)
  8. Drücken Sie auf dem Bildschirm Quelle F5, und wählen Sie dann die Schaltfläche für eine der beiden Sprachen.From the Source screen, press F5, and then select the button for either language.

    Auf dem Bildschirm Ziel wird eine Bezeichnung in der Sprache angezeigt, die mit der von Ihnen ausgewählten Schaltfläche übereinstimmt.On the Target screen, the label appears in the language that corresponds to the button that you selected.

  9. Wählen Sie den Rückwärtspfeil, um wieder zum Bildschirm Quelle zu gelangen, und wählen Sie dann die Schaltfläche für die andere Sprache.Select the Back arrow to return to the Source screen, and then select the button for the other language.

    Auf dem Bildschirm Ziel wird eine Bezeichnung in der Sprache angezeigt, die mit der von Ihnen ausgewählten Schaltfläche übereinstimmt.On the Target screen, the label appears in the language that corresponds to the button that you selected.

  10. Drücken Sie die ESC-TASTE, um zum Standardarbeitsbereich zurückzukehren.Press Esc to return to the default workspace.

Ein weiteres BeispielAnother example