Partajați prin


Funcția UpdateContext

Se aplică pentru: aplicații Canvas

Creează sau actualizează variabile de context ale ecranului curent.

Prezentare generală

Utilizați funcția UpdateContext pentru a crea o variabilă de context, care deține temporar o informație, cum ar fi de câte ori utilizatorul a selectat un buton sau rezultatul unei operațiuni de date.

Variabilele de context sunt limitate la un ecran, ceea ce înseamnă că nu puteți construi o formulă care se referă la o variabilă de context pe alt ecran. Dacă ați utilizat un alt instrument de programare, vă puteți gândi la o variabilă de context ca o variabilă locală. Utilizați funcția Set pentru a lucra cu variabile globale disponibile în toată aplicația.

Power Apps se bazează pe formule care se recalculează automat pe măsură ce utilizatorul interacționează cu o aplicație. Variabilele de context nu oferă acest beneficiu și pot îngreuna crearea și înțelegerea aplicației dvs. Înainte de a utiliza o variabilă de context, revedeți lucrul cu variabile.

Descriere

Pentru a crea sau a actualiza o variabilă de context, transmiteți o singură înregistrare la funcția UpdateContext. În fiecare înregistrare, specificați numele unei coloane, care definește sau se potrivește cu numele variabilei, și valoarea la care doriți să setați acea variabilă.

  • Dacă specificați numele unei variabile pe care ați definit-o anterior, UpdateContext setează valoarea variabilei la valoarea specificată.
  • Dacă specificați numele unei variabile care încă nu există, UpdateContext creează o variabilă cu acel nume și setează valoarea acelei variabile la valoarea pe care o specificați.
  • Dacă ați definit anterior o variabilă, dar nu o specificați în această formulă UpdateContext particulară, valoarea sa rămâne la fel.

Variabilele de context sunt create implicit prin utilizarea UpdateContext sau funcției Navigate. Nu este necesară nicio declarație explicită. Dacă eliminați toate referințele UpdateContext și Navigate la o variabilă de context, acea variabilă de context va înceta să existe. Pentru a șterge o variabilă, setați valoarea acesteia la rezultatul funcției Blank.

Puteți vizualiza valorile, definițiile și utilizările variabilelor dvs. cu vizualizarea Variabile din meniul Fișier în mediul de creație.

Puteți face referire la o variabilă de context într-o formulă utilizând numele coloanei variabilei. De exemplu, UpdateContext( { ShowLogo: true } ) creează o variabilă de context numită ShowLogo și își setează valoarea la true. Puteți utiliza apoi valoarea acestei variabile de context folosind numele ShowLogo într-o formulă. Puteți scrie ShowLogo ca formulă pentru proprietatea Visible a unui control de imagine și puteți afișa sau ascunde acel control în funcție de valoarea variabilei de context (true sau false).

După cum arată exemplele de mai jos din acest subiect, variabilele de context pot conține mai multe tipuri de informații, inclusiv:

  • o singură valoare
  • o înregistrare
  • un tabel
  • o referință la un obiect
  • orice rezultat dintr-o formulă

O variabilă de context își păstrează valoarea până la închiderea aplicației. Dacă definiți o variabilă de context și setați valoarea acesteia pe un anumit ecran, informațiile rămân intacte chiar dacă utilizatorul trece la alt ecran. Odată ce aplicația este închisă, valoarea variabilei de context va fi pierdută și trebuie recreată atunci când aplicația este încărcată din nou.

Fiecare variabilă de context este limitată la un ecran. Dacă doriți să definiți o variabilă de context pe un ecran și să modificați acea variabilă dintr-un alt ecran, trebuie să creați o formulă bazată pe funcția Navigate. Sau utilizați o variabilă globală.

UpdateContext nu are nicio valoare returnată și puteți să o utilizați numai în cadrul unei formule comportamentale.

Sintaxă

UpdateContext( UpdateRecord )

  • UpdateRecord – Obligatoriu. O înregistrare care conține numele a cel puțin o coloană și o valoare pentru coloana respectivă. O variabilă de context este creată sau actualizată pentru fiecare coloană și valoare pe care o specificați.

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

  • ContextVariable1 - Obligatoriu. Numele unei variabile de context de creat sau actualizat.
  • Value1 - Obligatoriu. Valoare de atribuit variabilei de context.
  • ContextVariable2: Value2, ... - Opțional. Variabile de context suplimentare pentru creare sau actualizare și valorile acestora.

Exemple

Formulă Descriere Rezultat
UpdateContext( { Counter: 1 } ) Creează sau modifică variabila de context Counter, setând valoarea acesteia la 1. Counter are valoarea 1. Puteți face referire la variabila respectivă utilizând numele Counter într-o formulă.
UpdateContext( { Counter: 2 } ) Setează valoarea variabilei de context Counter din exemplul anterior la 2. Counter are valoarea 2.
UpdateContext( { Name: "Lily", Score: 10 } ) Creează sau modifică variabilele de context Name și Score, setându-le valorile la Lily și 10. Name are valoarea Lily, iar Score are valoarea 10.
UpdateContext( { Person: { Name: "Milton", Address: "1 Main St" } } ) Creează sau modifică variabila de context Person, setând valoarea acesteia conform unei înregistrări. Înregistrarea conține două coloane, numite Name și Address. Valoarea coloanei Name este Milton, iar valoarea coloanei Address este 1 Main St. Person are valoarea înregistrării { Name: "Milton", Address: "1 Main St" } }.

Faceți referire la această înregistrare ca întreg cu numele Person sau faceți referire la o coloană individuală a acestei înregistrări cu Person.Name sau Person.Address.
UpdateContext( { Person: Patch( Person, {Address: "2 Main St" } ) } ) Se utilizează cu funcția Patch pentru a actualiza variabila de context Person setând valoarea coloanei Address la 2 Main St. Person are acum înregistrarea { Name: "Milton", Address: "2 Main St" } }.

Exemplu pas cu pas 1

  1. Numiți ecranul implicit Source, adăugați un alt ecran și denumiți-l Target.

  2. Pe ecranul Source, adăugați două butoane și setați proprietățile Text astfel încât unul să indice English, iar celălalt Spanish.

  3. Setați proprietatea OnSelect a butonului English conform următoarei expresii:
    Navigate(Target, ScreenTransition.Fade, {Language:"English"})

  4. Setați proprietatea OnSelect a butonului Spanish conform următoarei expresii:
    Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})

  5. Pe ecranul Target, adăugați o etichetă și setați proprietatea Text conform următoarei expresii:
    If(Language="English", "Hello!", "Hola!")

  6. Pe ecranul Target, selectați Shapes pe fila Insert, iar apoi selectați săgeata Înapoi.

  7. Setați proprietatea OnSelect a săgeții Înapoi conform următoarei formule:
    Navigate(Source, ScreenTransition.Fade)

  8. De pe ecranul Source, apăsați F5, iar apoi selectați butonul pentru una dintre limbi.

    Pe ecranul Target, eticheta apare în limba care corespunde cu butonul selectat.

  9. Selectați săgeata Înapoi pentru a reveni la ecranul Sursă, apoi selectați butonul pentru cealaltă limbă.

    Pe ecranul Target, eticheta apare în limba care corespunde cu butonul selectat.

  10. Apăsați Esc pentru a reveni la spațiul de lucru implicit.

Exemplu pas cu pas 2

  1. Deschideți aplicația proiectată pe pânză unde doriți să utilizați această formulă.
  2. Adăugați un nou ecran gol selectând Ecran nou din bara de comandă.
  3. Adăugați un buton, apoi setați proprietatea OnSelect la această formulă:
    UpdateContext( { Name: "Lily", Score: 10 } )