PowerApps Variablen: UpdateContext oder Set Funktion nutzen?

PowerApps Variablen UpdateContext oder Set Funktion nutzenUpdateContext vs Set Variable function

In PowerApps gibt es zwei Funktionen, um Variablen zu setzen: Die Set Funktion und die UpdateContext Funktion. In diesem Artikel wollen wir die Unterschiede erklären und erklären, wann man welche Funktion nutzen sollte.

Hinweis: Für die Vollständigkeit: Neben der Set und UpdateContext Funktion, kann man auch noch Collections erstellen zum Beipsiel mit ClearCollect / Collect.

Was ist der Unterschied zwischen der PowerApps Set und der UpdateContext Funktion?

  • Die Set Funktion definiert eine globale Variable (steht in der ganzen Anwendung zur Verfügung) .
  • Die UpdateContext Funktion definiert eine lokale Variable (steht nur im Screen zur Verfügung). UpdateContext Variablen müssen im JSON format definiert werden.

PowerApps Set Funktion

Mit der Set Funktion lassen sich Applikationsweite Variablen definieren.

Syntax

Set( VariableName, Value )

Eingangsparameter

  • VariableName (mandatory): Name der zu definierenden Variable.
  • Value (mandatory): Der Wert der Variablen: Ein String, eine Nummer, ein Boolean, ein Record oder ein Table.

Beispiele: PowerApps Set Funktion

Set(name, "John Doe");
Set(isMale, true);
Set(age,34);
Set(
    person,
    {
        firstname: "John",
        lastname: "Doe",
        age: 34
    }
);

Nach dem der Code oben ausgeführt wurde, kann man sich die definierten Variablen wie folgt anschauen: View menu > Variables > Global.

powerapps set function example result
PowerApps Variablen unter View menu > Variables > Global

PowerApps UpdateContext Funktion

Mit der UpdateContext Funktion kannst im JSON Format Variablen definieren, die innerhalb des Screens nutzbar sind.

Syntax

UpdateContext( UpdateRecord )

Eingabeparameter

  • UpdateRecord (mandatory): Der Record den du speichern willst.

Beispiele: PowerApps Set Funktion

UpdateContext({name: "John Doe"});
UpdateContext({isMale: true});
UpdateContext({age: 34});
UpdateContext(  
    {
        person:
        {
            firstname: "John",
            lastname: "Doe",

            age: 34
        }
    }
);

Nach dem der Code oben ausgeführt wurde, kann man sich die definierten Variablen wie folgt anschauen: View menu > Variables > Screen Name.

powerapps updatecontext function example result

PowerApps Screen Variablen unter View menu > Variables > <Screen Name>

Es existiert noch ein weiterer Weg eine Variable für einen Screen zu definieren. Wenn du die Navigate Funktion mit dem optionalen Variablenparameter nutzt.

Navigate(MyScreen,ScreenTransition.None,{name: "Joe"});

// Creates the variable name within the screen MyScreen 

Wann sollte man Set und wann UpdateContext nutzen?

  • Benutzte Set immer dann, wenn die Variable in mehreren Screen genutzt wird. UpdateContext Variablen sind nur innerhalb eines Screens nutzbar. In App.onStart() musst du Set benutzen, da dort UpdateContext nicht erlaubt ist.
  • Benutze UpdateContext wenn immer möglich. Grundsätzlich ist es ein gutes Vorgehen Variablen so lokal zu halten, wie möglich. Das verhindert Konflikte mit anderen Variablen.

Was passiert, wenn Set und UpdateContext für die selbe Variable genutzt werden?

Zum Ende noch ein kleines Rästel. Was ist der Wert von myVar nach diesem Code?

UpdateContext({myVar: "UpdateContext"});
Set(myVar, "Set");

Innerhalb des Screens ist es „UpdateContext“. Außerhalb des Screens ist es „Set“.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert