UpdateContext (opis funkcije)

Odnosi se na: Aplikacije od gotovih gradivnih elemenata

Stvara ili ažurira varijable konteksta trenutačnog zaslona.

Pregled

Upotrijebite funkciju UpdateContext kako biste stvorili neku varijablu konteksta koja privremeno sadrži informaciju, poput broja puta kada je korisnik odabrao neki gumb ili rezultata neke operacije nad podatcima.

Varijable konteksta vezane su uz jedan zaslon, što znači da ne možete napraviti formulu koja upućuje na varijablu konteksta na nekom drugom zaslonu. Ako ste koristili neki drugi programski alat, varijablu konteksta možete shvatiti kao sličnu lokalnoj varijabli. Upotrijebite funkciju Set kako biste radili s globalnim varijablama dostupnim u cijeloj vašoj aplikaciji.

Power Apps aplikacije temelje se na formulama koje automatski preračunavaju dok korisnik radi s aplikacijom. Varijable konteksta ne pružaju ovu prednost i mogu vašoj aplikaciji otežati stvaranje i razumijevanje. Prije nego što upotrebite neku varijablu konteksta, pogledajte odjeljak rad s varijablama.

Opis

Da biste stvorili ili ažurirali neku varijablu konteksta, proslijedite jedan zapis funkciji UpdateContext. U svakom zapisu navedite naziv stupca koji određuje ili odgovara nazivu varijable, i vrijednost na koju želite postaviti tu varijablu.

  • Ako navedete naziv varijable koju ste prethodno definirali, UpdateContext postavlja vrijednost te varijable na vrijednost koju navedete.
  • Ako navedete naziv varijable koja još ne postoji, UpdateContext stvara varijablu tog naziva i postavlja vrijednost te varijable na vrijednost koju navedete.
  • Ako ste prethodno definirali varijablu, ali je niste naveli u ovoj konkretnoj formuli s funkcijom UpdateContext, njezina vrijednost ostaje ista.

Varijable konteksta prešutno se stvaraju uporabom funkcije UpdateContext ili Navigate. Nije potrebna eksplicitna deklaracija. Ako uklonite sve reference funkcija UpdateContext i Navigate na neku varijablu konteksta, tada će ta varijabla konteksta prestati postojati. Da biste izbrisali neku varijablu, postavite njezinu vrijednost na rezultat funkcije Blank.

Vrijednosti, definicije i upotrebe varijabli možete vidjeti u prikazu Varijable pod izbornikom Datoteka u okruženju za stvaranje.

U formuli referencirate varijablu konteksta koristeći naziv stupca te varijable. Na primjer, UpdateContext( { ShowLogo: true } ) stvara varijablu konteksta po imenu ShowLogo i postavlja njezinu vrijednost na true. Tada možete upotrijebiti tu vrijednost ove varijable konteksta koristeći naziv ShowLogo u formuli. Možete napisati ShowLogo kao formulu za svojstvo Visible kontrole slike i pokazati ili sakriti tu kontrolu na temelju toga je li vrijednost te varijable konteksta true ili false.

Kao što pokazuju primjeri u nastavku ove teme, varijable konteksta mogu sadržavati nekoliko vrsta informacija, uključujući sljedeće:

  • jedna vrijednost
  • zapis
  • tablica
  • referenca objekta
  • bilo koji rezultat neke formule

Varijabla konteksta zadržava svoju vrijednost dok se aplikacija ne zatvori. Ako definirate varijablu konteksta i postavite njezinu vrijednost na određenom zaslonu, ta informacija ostaje netaknuta čak i ako korisnik pređe na neki drugi zaslon. Nakon zatvaranja aplikacije, vrijednost varijable konteksta izgubit će se i mora se ponovno stvoriti nakon ponovnog učitavanja aplikacije.

Svaka varijabla konteksta vezana je uz neki zaslon. Želite li definirati neku varijablu konteksta na jednom zaslonu i modificirati je na nekom drugom zaslonu, morate napraviti formulu koja se temelji na funkciji Navigate. Ili koristite globalnu varijablu.

UpdateContext nema povratnu vrijednost i možete je koristiti samo unutar formule ponašanja.

Sintaksa

UpdateContext( UpdateRecord )

  • UpdateRecord – obavezno. Zapis koji sadrži naziv barem jednog stupca i vrijednost za taj stupac. Varijabla konteksta stvara se ili ažurira za svaki stupac i vrijednost koju navedete.

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

  • ContextVariable1 – obavezno. Naziv varijable konteksta koja se stvara ili ažurira.
  • Value1 – obavezno. Vrijednost koja se dodjeljuje varijabli konteksta.
  • ContextVariable2: Value2, ... – neobavezno. Dodatne varijable konteksta za stvaranje ili ažuriranje i njihove vrijednosti.

Primjeri

Formula Opis Rezultat
UpdateContext( { Counter: 1 } ) Stvara ili mijenja varijablu konteksta Counter, postavljajući joj vrijednost na 1. Counter ima vrijednost 1. Na tu varijablu možete uputiti koristeći se nazivom Counter u nekoj formuli.
UpdateContext( { Counter: 2 } ) Postavlja vrijednost varijable konteksta Counter iz prethodnog primjera na 2. Counter ima vrijednost 2.
UpdateContext( { Name: "Lily", Score: 10 } ) Stvara ili mijenja varijable konteksta Name i Score, postavljajući njihove vrijednosti na Lily i 10, redom. Name ima vrijednost Lily, a Score ima vrijednost 10.
UpdateContext( { Person: { Name: "Milton", Address: "1 Main St" } } ) Stvara ili mijenja varijablu konteksta Person, postavljajući joj vrijednost na neki zapis. Zapis sadrži dva stupca s nazivima Name i Address. Vrijednost stupca Name je Milton, a vrijednost stupca Address je 1 Main St. Person ima vrijednost zapisa { Name: "Milton", Address: "1 Main St" } }.

Referencirajte ovaj zapis u cjelini s nazivom Person ili referencirajte pojedinačni stupac ovog zapisa s Person.Name ili Person.Address.
UpdateContext( { Person: Patch( Person, {Address: "2 Main St" } ) } ) Zajedno s funkcijom Patch ažurira varijablu konteksta Person postavljanjem vrijednosti stupca Address na 2 Main St. Person sada ima vrijednost zapisa { Name: "Milton", Address: "2 Main St" } }.

Primjer korak po korak 1

  1. Nazovite zadani zaslon Source, dodajte neki drugi zaslon i nazovite ga Target.

  2. Na zaslonu Source dodajte dva gumba i postavite njihova svojstva Text tako da jedno glasi English, a drugo Spanish.

  3. Postavite svojstvo OnSelect gumba English na ovaj izraz:
    Navigate(Target, ScreenTransition.Fade, {Language:"English"})

  4. Postavite svojstvo OnSelect gumba Spanish na ovaj izraz:
    Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})

  5. Na zaslonu Target dodajte oznaku i postavite njeno svojstvo Text na ovaj izraz:
    If(Language="English", "Hello!", "Hola!")

  6. Na zaslonu Target odaberite Shapes na kartici Insert, a zatim odaberite strelicu Natrag.

  7. Postavite svojstvo OnSelect strelice Natrag na ovu formulu:
    Navigate(Source, ScreenTransition.Fade)

  8. Na zaslonu Source pritisnite F5, a zatim odaberite gumb za bilo koji jezik.

    Na zaslonu Target oznaka se pojavljuje na jeziku koji odgovara gumbu koji ste odabrali.

  9. Odaberite strelicu Natrag da biste se vratili na zaslon Source, a zatim odaberite gumb za neki drugi jezik.

    Na zaslonu Target oznaka se pojavljuje na jeziku koji odgovara gumbu koji ste odabrali.

  10. Pritisnite Esc za povratak na zadani radni prostor.

Primjer korak po korak 2

  1. Otvorite aplikaciju od gotovih gradivnih elemenata na mjestu gdje želite koristiti ovu formulu.
  2. Dodajte novi prazan zaslon odabirom opcije Novi zaslon iz naredbene trake.
  3. Dodajte gumb i postavite njegovo svojstvo OnSelect na ovu formulu:
    UpdateContext( { Name: "Lily", Score: 10 } )