Funkcia UpdateContext v službe PowerAppsUpdateContext function in PowerApps

Vytvára alebo aktualizuje kontextové premenné aktuálnej obrazovky.Creates or updates context variables of the current screen.

PrehľadOverview

Funkcia UpdateContext umožňuje vytvoriť kontextovú premennú, ktorá dočasne uchová určitú informáciu, napríklad koľkokrát vybral používateľ určité tlačidlo alebo výsledok operácie s údajmi.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.

Oblasťou kontextových premenných je obrazovka, čo znamená, že nemôžete vytvoriť vzorec, ktorý odkazuje na inú kontextovú premennú na inej obrazovke.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. Ak ste už používali iný programovací nástroj, môžete kontext premennú považovať za obdobu lokálnej premennej.If you've used another programming tool, you can think of a context variable as similar to a local variable. Pri práci s globálnymi premennými, ktoré sú dostupné v celej vašej aplikácii, použite funkciu Set.Use the Set function to work with global variables that are available throughout your app.

Základom PowerApps sú vzorce, ktoré sa automaticky prepočítajú v priebehu interakcie používateľa s aplikáciou.PowerApps are based on formulas that automatically recalculate as the user interacts with an app. Kontextové premenné túto výhodu neponúkajú a môžu sťažiť vytvorenie a pochopenie vašej aplikácie.Context variables don't offer this benefit and can make your app harder to create and understand. Pred použitím kontextovej premennej si prečítajte článok Práca s premennými.Before you use a context variable, review working with variables.

PopisDescription

Ak chcete vytvoriť alebo aktualizovať kontextovú premennú, pošlite jeden záznam funkcii UpdateContext.To create or update a context variable, pass a single record to the UpdateContext function. V každom zázname zadajte názov stĺpca, ktorý definuje názov premennej alebo sa s ním zhoduje, a hodnotu, na ktorú chcete premennú nastaviť.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.

  • Ak zadáte názov premennej, ktorý ste už definovali predtým, funkcia UpdateContext nastaví hodnotu premennej na hodnotu, ktorú zadáte.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.
  • Ak zadáte názov premennej, ktorý ešte neexistuje, funkcia UpdateContext vytvorí premennú s týmto názvom a nastaví hodnotu premennej na hodnotu, ktorú zadáte.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.
  • Ak ste predtým definovali nejakú premennú, ale nezadáte ju v aktuálnom vzorci UpdateContext, jej hodnota zostáva rovnaká.If you've previously defined a variable but don't specify it in this particular UpdateContext formula, its value remains the same.

Kontextové premenné sa implicitne vytvárajú pomocou funkcie UpdateContext alebo funkcie Navigate.Context variables are implicitly created by using the UpdateContext or Navigate function. Nevyžaduje sa žiadna explicitná deklarácia.There is no explicit declaration required. Ak funkciám UpdateContext a Navigate odoberiete všetky odkazy na kontextovú premennú, potom táto kontextová premenná prestane existovať.If you remove all the UpdateContext and Navigate references to a context variable, then that context variable will cease to exist. Premennú vymažete tak, že jej hodnotu nastavíte na výsledok funkcie Blank.To clear a variable set its value to the result of the Blank function.

Hodnoty, definície a použitie premenných si môžete pozrieť pomocou zobrazenia Premenné v ponuke Súbor vo vývojovom prostredí.You can see your variables' values, definitions, and uses with the Variables view under the File menu in the authoring environment.

Vo vzorci odkazujete na kontextovú premennú pomocou názvu stĺpca kontextovej premennej.You reference a context variable in a formula by using the variable's column name. Vzorec UpdateContext ({ShowLogo: true}) napríklad vytvorí kontextovú premennú s názvom ShowLogo a nastaví jej hodnotu na true.For example, UpdateContext( { ShowLogo: true } ) creates a context variable named ShowLogo and sets its value to true. Potom môžete použiť hodnotu tejto kontextovej premennej vo vzorci pomocou názvu ShowLogo.You can then use the value of this context variable by using the name ShowLogo in a formula. Môžete zapísať premennú ShowLogo ako vzorec pre vlastnosť Visible ovládacieho prvku obrázka a zobraziť alebo skryť tento ovládací prvok podľa toho, či je hodnota kontextovej premennej truealebo false.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.

Ako uvidíte v príkladoch uvedených nižšie, kontextové premenné môžu uchovávať niekoľko typov informácií, ku ktorým patria:As the examples later in this topic show, context variables can hold several kinds of information, including these:

  • Jedna hodnotaa single value
  • Záznama record
  • Tabuľkaa table
  • Odkaz na objektan object reference
  • Akýkoľvek výsledok vzorcaany result from a formula

Kontextová premenná uchováva svoju hodnotu, až kým sa aplikácia nezatvorí.A context variable holds its value until the app is closed. Ak zadefinujete kontextovú premennú a nastavíte jej hodnotu na konkrétnej obrazovke, tieto informácie zostanú nezmenené aj vtedy, keď používateľ prepne na inú obrazovku.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. Po zavretí aplikácie sa hodnota kontextovej premennej statí a musí sa znovu vytvoriť pri opätovnom načítaní aplikácie.Once the app is closed, the context variable's value will be lost and must be recreated when the app is loaded again.

Oblasťou každej kontextovej premennej je obrazovka.Every context variable is scoped to a screen. Ak chcete definovať kontextovú premennú na jednej obrazovke a potom ju upraviť z inej obrazovky, musíte vytvoriť vzorec založený na funkcii Navigate.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. Alebo môžete použiť globálnu premennú.Or use a global variable.

Funkcia UpdateContext nemá žiadnu návratovú hodnotu a môžete ju použiť iba vo vzorcoch správania.UpdateContext has no return value, and you can use it only within a behavior formula.

SyntaxSyntax

UpdateContext( UpdateRecord )UpdateContext( UpdateRecord )

  • UpdateRecord – povinné.UpdateRecord – Required. Záznam, ktorý obsahuje názov aspoň jedného stĺpca a hodnotu pre tento stĺpec.A record that contains the name of at least one column and a value for that column. Kontextová premenná sa vytvorí alebo aktualizuje pre každý zadaný stĺpec a každú zadanú hodnotu.A context variable is created or updated for each column and value that you specify.

UpdateContext( { KontextováPremenná1: Hodnota1 [, KontextováPremenná2: Hodnota2 [, ... ] ] } )UpdateContext( { ContextVariable1: Value1 [, ContextVariable2: Value2 [, ... ] ] } )

  • ContextVariable1 – povinné.ContextVariable1 - Required. Názov kontextovej premennej, ktorá sa má vytvoriť alebo aktualizovať.The name of a context variable to create or update.
  • Value1 – povinné.Value1 - Required. Hodnota, ktorá sa má tejto kontextovej premennej priradiť.The value to assign to the context variable.
  • KontextováPremenná2: Hodnota2,... – voliteľné.ContextVariable2: Value2, ... - Optional. Ďalšie kontextové premenné, ktoré chcete vytvoriť alebo aktualizovať, a ich hodnoty.Additional context variables to create or update and their values.

PríkladyExamples

VzorecFormula PopisDescription VýsledokResult
UpdateContext( { Čítač: 1 } )UpdateContext( { Counter: 1 } ) Vytvorí alebo upraví kontextovú premennú Čítač a nastaví jej hodnotu na 1.Creates or modifies the context variable Counter, setting its value to 1. Premenná Čítač má hodnotu 1.Counter has the value 1. Na túto premennú môžete odkázať použitím jej mena Čítač vo vzorci.You can reference that variable by using the name Counter in a formula.
UpdateContext( { Čítač: 2 } )UpdateContext( { Counter: 2 } ) Nastaví hodnotu kontextovej premennej Čítač z predchádzajúceho príkladu na 2.Sets the value of the Counter context variable from the previous example to 2. Premenná Čítač má hodnotu 2.Counter has the value 2.
UpdateContext ({ Meno: "Lenka", Skóre: 10 })UpdateContext( { Name: "Lily", Score: 10 } ) Vytvorí alebo upraví kontextové premenné Meno a Skóre a nastaví ich hodnoty na Lenka a 10 v uvedenom poradí.Creates or modifies the context variables Name and Score, setting their values to Lily and 10 respectively. Premenná Meno má hodnotu Lenka a premenná Skóre má hodnotu 10.Name has the value Lily, and Score has the value 10.
UpdateContext ({ Osoba: { Meno: "Novák", Adresa:  Hlavná ulica 1" } })UpdateContext( { Person: { Name: "Milton", Address: "1 Main St" } } ) Vytvorí alebo upraví kontextovú premennú Osoba a nastaví jej hodnotu na záznam.Creates or modifies the context variable Person, setting its value to a record. Tento záznam obsahuje dva stĺpce, s názvami Meno a Adresa.The record contains two columns, named Name and Address. Hodnota stĺpca Meno je Novák, a hodnotu stĺpca Adresa je Hlavná ulica 1.The value of the Name column is Milton, and the value of the Address column is 1 Main St. Premenná Osoba má hodnotu záznamu { Meno: "Novák", Adresa:  Hlavná ulica 1" } }.Person has the value of record { Name: "Milton", Address: "1 Main St" } }.

Na tento záznam môžete odkázať ako na celok pomocou názvu Osoba, alebo môžete odkázať na individuálny stĺpec z tohto záznamu pomocou názvu Osoba.Meno alebo Osoba.Adresa.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( { Osoba: Patch( Osoba, {Adresa:  Hlavná ulica 2" } ) } )UpdateContext( { Person: Patch( Person, {Address: "2 Main St" } ) } ) V súčinnosti s funkciou Patch aktualizuje kontextovú premennú Osoba nastavením hodnoty stĺpca Adresa na Hlavná ulica 2.Works with the Patch function to update the Person context variable by setting the value of the Address column to 2 Main St. Premenná Osoba má teraz hodnotu záznamu { Meno: "Novák", Adresa:  Hlavná ulica 2" } }.Person now has the value of record { Name: "Milton", Address: "2 Main St" } }.

Podrobný príkladStep-by-step example

  1. Dajte predvolenej obrazovke názov Zdroj, pridajte ďalšiu obrazovku a nazvite ju Cieľ.Name the default screen Source, add another screen, and name it Target.

  2. Na obrazovke Zdroj pridajte dve tlačidlá a nastavte ich vlastnosti Text na hodnoty English a Español.On the Source screen, add two buttons, and set their Text properties so that one says English and the other says Spanish.

  3. Vlastnosť OnSelect tlačidla English nastavte na tento výraz:Set the OnSelect property of the English button to this expression:
    Navigate(Cieľ, ScreenTransition.Fade, {Language:"English"})Navigate(Target, ScreenTransition.Fade, {Language:"English"})

  4. Vlastnosť OnSelect tlačidla Español nastavte na tento výraz:Set the OnSelect property of the Spanish button to this expression:
    Navigate(Cieľ, ScreenTransition.Fade, {Language:"Español"})Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})

  5. Na obrazovke Cieľ pridajte označenie a jeho vlastnosť Text nastavte na tento výraz: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. Na obrazovke Cieľ vyberte možnosť Tvary na karte Vložiť a potom vyberte tlačidlo Späť.On the Target screen, select Shapes on the Insert tab, and then select the Back arrow.

  7. Vlastnosť OnSelect tlačidla Späť nastavte na tento vzorec:Set the Back arrow's OnSelect property to this formula:
    Navigate(Zdroj, ScreenTransition.Fade)Navigate(Source, ScreenTransition.Fade)

  8. Na obrazovke Zdroj stlačte kláves F5 a potom kliknite na tlačidlo pre jeden z jazykov.From the Source screen, press F5, and then select the button for either language.

    Na obrazovke Cieľ sa zobrazí označenie v jazyku zodpovedajúcemu tlačidlu, ktoré ste vybrali.On the Target screen, the label appears in the language that corresponds to the button that you selected.

  9. Výberom šípky Späť sa vráťte na obrazovku Zdroj a zvoľte tlačidlo pre druhý jazyk.Select the Back arrow to return to the Source screen, and then select the button for the other language.

    Na obrazovke Cieľ sa zobrazí označenie v jazyku zodpovedajúcemu tlačidlu, ktoré ste vybrali.On the Target screen, the label appears in the language that corresponds to the button that you selected.

  10. Stlačením klávesa Esc sa vráťte do predvoleného pracovného priestoru.Press Esc to return to the default workspace.

Ďalší príkladAnother example