Funkce UpdateContext

Platí pro: aplikace plátna

Vytvoří nebo zaktualizuje kontextové proměnné aktuální obrazovky.

Přehled

Funkce UpdateContext umožňuje vytvořit kontextovou proměnnou, ve které se dočasně uchovává určitý údaj, například počet, kolikrát uživatel vybral nějaké tlačítko, nebo výsledek operace s daty.

Kontextové proměnné mají jako svůj obor obrazovku. To znamená, že nemůžete vytvořit vzorec, který odkazuje na kontextovou proměnnou na jiné obrazovce. Pokud jste dříve používali jiný programovací nástroj, můžete kontextovou proměnnou považovat za obdobu místní proměnné. Pro práci s globálními proměnnými, které jsou dostupné v celé vaší aplikaci, použijte funkci Set.

Základem Power Apps jsou vzorce, které se automaticky přepočítávají během interakce uživatele s aplikací. Kontextové proměnné tuto výhodu nenabízejí a můžou znesnadnit vytvoření a pochopení vaší aplikace. Před použitím kontextové proměnné si přečtěte článek o práci s proměnnými.

Popis

Pokud chcete vytvořit nebo aktualizovat kontextovou proměnnou, předejte jeden záznam funkci UpdateContext. V každém záznamu zadejte název sloupce, který definuje název proměnné nebo mu odpovídá, a hodnotu, na kterou chcete proměnnou nastavit.

  • Pokud zadáte název proměnné, který už jste definovali dříve, nastaví funkce UpdateContext tuto proměnnou na hodnotu, kterou zadáte.
  • Pokud zadáte název proměnné, který zatím ještě neexistuje, vytvoří funkce UpdateContext proměnnou s tímto názvem a nastaví ji na zadanou hodnotu.
  • Pokud jste dříve definovali nějakou proměnnou, ale nezadáte ji v aktuálním vzorci UpdateContext, její hodnota zůstane stejná.

Kontextové proměnné se implicitně vytvářejí pomocí funkce UpdateContext nebo funkce Navigate. Nevyžaduje se žádná explicitní deklarace. Pokud odeberete všechny odkazy funkcí UpdateContext a Navigate na kontextovou proměnnou, pak tato kontextová proměnná přestane existovat. Proměnnou vymažete tak, že její hodnotu nastavíte na výsledek funkce Blank.

Hodnoty, definice a použití proměnných si můžete prohlédnout pomocí zobrazení Proměnné v nabídce Soubor ve vývojovém prostředí.

Na kontextové proměnné se ve vzorci odkazuje pomocí názvu sloupce proměnné. Vzorec UpdateContext( { ShowLogo: true } ) například vytvoří kontextovou proměnnou s názvem ShowLogo a nastaví její hodnotu na true. Potom můžete hodnotu této kontextové proměnné použít ve vzorci pomocí názvu ShowLogo. Můžete například zapsat proměnnou ShowLogo jako vzorec pro vlastnost Visible u ovládacího prvku obrázku a zobrazit nebo skrýt tento ovládací prvek podle toho, jestli má tato kontextová proměnná hodnotu truenebo false.

Jak ukazují příklady dále v tomto tématu, můžou kontextové proměnné uchovávat několik druhů informací, mezi které patří:

  • Jedna hodnota
  • záznam
  • tabulka
  • Odkaz na objekt
  • Jakýkoli výsledek vzorce

Kontextová proměnná uchovává svou hodnotu tak dlouho, dokud se aplikace nezavře. Pokud nadefinujete kontextovou proměnnou, nastavíte její hodnotu na konkrétní obrazovce a uživatel přepne na jinou obrazovku, zůstanou nastavené informace beze změn. Po zavření aplikace se hodnota kontextové proměnné ztratí a musí se znovu vytvořit při opětovném načtení aplikace.

Každá kontextová proměnná má jako svůj obor konkrétní obrazovku. Pokud chcete definovat kontextovou proměnnou na jedné obrazovce a upravit ji z jiné obrazovky, musíte vytvořit vzorec založený na funkci Navigate. Případně můžete použít globální proměnnou.

Funkce UpdateContext nemá žádnou návratovou hodnotu a můžete ji použít jenom ve vzorcích chování.

Syntaxe

UpdateContext(AktualizovanýZáznam)

  • UpdateRecord – povinné. Záznam, který obsahuje název aspoň jednoho sloupce a hodnotu pro každý uvedený sloupec. Kontextová proměnná se vytvoří nebo zaktualizuje pro každý zadaný sloupec a hodnotu.

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

  • ContextVariable1 – povinné. Název kontextové proměnné, která se má vytvořit nebo zaktualizovat.
  • Value1 – povinné. Hodnota, která se má této globální proměnné přiřadit.
  • ContextVariable2: Value2, ... – volitelné. Další kontextové proměnné, které chcete vytvořit nebo aktualizovat, a jejich hodnoty.

Příklady

Vzorec Popis Výsledek
UpdateContext( { Counter: 1 } ) Vytvoří nebo změní kontextovou proměnnou Čítač a nastaví její hodnotu na 1. Proměnná Čítač má hodnotu 1. Na tuto proměnnou můžete odkázat pomocí názvu Čítač ve vzorci.
UpdateContext( { Counter: 2 } ) Nastaví hodnotu kontextové proměnné Čítač z předchozího příkladu na 2. Proměnná Čítač má hodnotu 2.
UpdateContext( { Name: "Lily", Score: 10 } ) Vytvoří nebo upraví kontextové proměnné Jméno a Skóre a nastaví jejich hodnoty na Lenka a 10. Proměnná Name má hodnotu Lily a proměnná Score má hodnotu 10.
UpdateContext( { Person: { Name: "Milton", Address: "1 Main St" } } ) Vytvoří nebo změní kontextovou proměnnou Osoba a nastaví její hodnotu na záznam. Tento záznam obsahuje dva sloupce s názvy Name a Address. Hodnota sloupce Name je Milton a hodnota sloupce Address je 1 Main St. Person má hodnotu záznamu { Name: "Milton", Address: "1 Main St" } }.

Na tento záznam můžete odkázat jako na celek pomocí názvu Person, nebo na individuální sloupec tohoto záznamu pomocí Person.Name nebo Person.Address.
UpdateContext( { Person: Patch( Person, {Address: "2 Main St" } ) } ) V součinnosti s funkcí Patch aktualizuje kontextovou proměnnou Osoba nastavením hodnoty sloupce Adresa na Hlavní ulice 2. Person teď má hodnotu záznamu { Name: "Milton", Address: "2 Main St" } }.

Podrobný příklad 1

  1. Dejte výchozí obrazovce název Zdroj, přidejte další obrazovku a dejte jí název Cíl.

  2. Na obrazovce Zdroj přidejte dvě tlačítka a nastavte jejich vlastnosti Text na hodnoty English a Español.

  3. Vlastnost OnSelect tlačítka English nastavte na tento výraz:
    Navigate(Target, ScreenTransition.Fade, {Language:"English"})

  4. Vlastnost OnSelect tlačítka Español nastavte na tento výraz:
    Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})

  5. Na obrazovce Cíl přidejte popisek a nastavte jeho vlastnost Text na tento výraz:
    If(Language="English";"Hello";"Hola")

  6. Na obrazovce Cíl vyberte na kartě Vložit možnost Tvary a pak vyberte tlačítko Zpět.

  7. Vlastnost OnSelect tlačítka Zpět nastavte na tento vzorec:
    Navigate(Zdroj; ScreenTransition.Fade)

  8. Na obrazovce Zdroj stiskněte klávesu F5 a pak klikněte na tlačítko pro některý jazyk.

    Na obrazovce Cíl se zobrazí popisek v jazyce odpovídajícím vybranému tlačítku.

  9. Výběrem šipky Zpět se vraťte na obrazovku Zdroj a pak vyberte tlačítko pro druhý jazyk.

    Na obrazovce Cíl se zobrazí popisek v jazyce odpovídajícím vybranému tlačítku.

  10. Stisknutím klávesy Esc se vraťte do výchozího pracovního prostoru.

Podrobný příklad 2

  1. Otevřete aplikaci plátna, kde chcete použít tento vzorec.
  2. Přidejte novou prázdnou obrazovku výběrem Nová obrazovka z panelu příkazů.
  3. Přidejte tlačítko a nastavte jeho vlastnost OnSelect na tento vzorec:
    UpdateContext( { Name: "Lily", Score: 10 } )