Kontextbezogene Variablen

Abgeschlossen

Kontextbezogene Variablen ähneln globalen Variablen, mit dem Unterschied, dass sie nur auf dem Bildschirm, auf dem Sie sie erstellt haben, referenziert werden. Obwohl es möglich ist, den Namen des Benutzers für eine Variable festzulegen, auf die in der gesamten App verwiesen wird, hat die Tatsache, dass kontextbezogene Variablen nicht auf anderen Bildschirmen verwendet werden können, immer noch Vorteile.

Mitunter liegt eine Funktionalität vor, die Sie auf mehreren Bildschirmen verwenden möchten, die durch Variablen gesteuert wird. Viele Apps verwenden z. B. Popup-Dialogfelder, um Aktionen wie das Löschen eines Datensatzes zu bestätigen. Eine häufig genutzte Möglichkeit zur Implementierung besteht darin, eine kontextbezogene Variable auf „true“ festzulegen, wenn der Benutzer die Schaltfläche „Löschen“ auswählt. Dazu legen Sie die OnSelect-Eigenschaft der Schaltfläche wie folgt fest.

UpdateContext({varShowPopUp: true})

Dann legen Sie die Eigenschaft Visible der Popupsteuerelemente auf varShowPopUp fest. Dies ist vergleichbar mit dem Beispiel für die globalen Variablen. Der Hauptunterschied liegt in der Wiederverwendbarkeit. Wenn Sie die Steuerelemente (mit STRG+C) auf einen weiteren Bildschirm kopieren, gibt es zwei Instanzen von varShowPopUp. Diese beiden Instanzen verwenden denselben Namen, können aber unterschiedliche Werte aufweisen. Der Wert von varShowPopUp auf Bildschirm 1 hat keinen Einfluss auf den Wert von varShowPopUp auf Bildschirm 2, da jede kontextbezogene Variable, auch wenn sie denselben Namen hat, nur auf dem Bildschirm gültig ist, auf dem sie sich befindet.

Die Wiederverwendung von Variablennamen ist in der Regel nicht empfehlenswert, da sie verwirrend sein kann. Sie eignet sich aber hervorragend, wenn Sie die Funktionalität unabhängig auf verschiedenen Bildschirmen wiederverwenden möchten.

Wenn Sie sich nicht sicher sind, ob Sie globale oder kontextbezogene Variablen verwenden sollten, sind normalerweise globale Variablen die Standardantwort. Globale Variablen sind überall verfügbar und somit am flexibelsten.

Ein eindeutiges Verhalten der Funktion UpdateContext ist, dass Sie mehrere Variablen gleichzeitig deklarieren können. Dies ist mit der Funktion Set nicht möglich. Setzen Sie ein Komma zwischen den Variablen, um mehrere Kontextvariablen mit einer einzigen Formel zu erstellen.

UpdateContext({varCount: 1, varActive: true, varName: User().FullName})

Hinweis

Im vorherigen Modul haben wir erwähnt, dass die Verwendung der User()-Funktion inline Ihre App unnötig verlangsamt und aus diesem Grund eine globale Variable OnStart verwendet werden sollte. Während die Verwendung einer Kontextvariablen zum Speichern von Benutzerinformationen die Leistung gegenüber der Inline-Verwendung der User()-Funktion verbessert, bringt sie letztendlich weniger Leistung als eine globale Variable, da Sie die Datenquelle immer noch jedes Mal aufrufen, wenn diese Seite geöffnet wird. Es wird daher empfohlen, Benutzerinformationen in einer globalen Variablen zu speichern.

Verwenden Sie Folgendes, um dasselbe mit globalen Variablen zu erreichen.

Set(varCount, 1);Set(varActive, true);Set(varName, User().FullName)

In der nächsten Lerneinheit erfahren Sie, wie Sie Tabellen mit Daten in einer Sammelvariablen speichern.