Share via


UpdateContext-funksjon

Gjelder: Lerretsapper

Oppretter eller oppdaterer kontekstvariabler på den gjeldende skjermen.

Oversikt

Bruk UpdateContext-funksjonen til å opprette en kontekstvariabel, som inneholder midlertidig informasjon, for eksempel hvor mange ganger brukeren har valgt en knapp eller resultatet av en dataoperasjon.

Kontekstvariablene er avgrenset til ett skjermbilde, noe som betyr at du ikke kan opprette en formel som refererer til en kontekstvariabel på et annet skjermbilde. Hvis du har brukt et annet programmeringsverktøy, kan du anse en kontekstvariabel som noe som ligner en lokal variabel. Bruk Set-funksjonen til å arbeide med globale variabler som er tilgjengelige i hele appen.

Power Apps er basert på formler som automatisk beregnes på nytt når brukeren samhandler med en app. Kontekstvariabler tilbyr ikke denne fordelen, og kan gjøre appen vanskeligere å opprette og forstå. Før du bruker en kontekstvariabel, er det lurt å se gjennom arbeide med variabler.

Beskrivelse

Hvis du vil opprette eller oppdatere en kontekstvariabel, kan du sende en enkelt post til UpdateContext-funksjonen. I hver post kan du angi navnet på en kolonne, som definerer eller tilsvarer navnet på variabelen og verdien du vil angi denne variabelen for.

  • Hvis du angir navnet på en variabel som du tidligere har definert, angir UpdateContext verdien for variabelen til verdien du angir.
  • Hvis du angir navnet på en variabel som ikke finnes ennå, oppretter UpdateContext en variabel med dette navnet, og setter verdien for denne variabelen til verdien du angir.
  • Hvis du tidligere har definert en variabel men ikke angitt verdien i denne bestemte UpdateContext-formelen, forblir verdien den samme.

Kontekstvariabler opprettes implisitt ved hjelp av UpdateContext- eller Navigate-funksjonen. Det kreves ingen eksplisitt deklarasjon. Hvis du fjerner alle UpdateContext- og Navigate-referansene til en kontekstvariabel, vil denne kontekstvariabelen opphøre. Angi variabelens verdi som resultatet av Blank-funksjonen for å fjerne variabelen.

Du kan se variablenes verdier, definisjoner og bruk ved hjelp av Variabler-visningen under Fil-menyen i redigeringsmiljøet.

Du refererer til en kontekstvariabel i en formel ved hjelp av variabelens kolonnenavn. UpdateContext( { ShowLogo: true } ) oppretter for eksempel en kontekstvariabel kalt ShowLogo, og setter verdien til sann. Du kan deretter bruke verdien i denne kontekstvariabelen med navnet ShowLogo i en formel. Du kan skrive ShowLogo som formelen for Visible-egenskapen for en bildekontroll, og vise eller skjule kontrollen basert på om verdien for kontekstvariabelen er sann eller usann.

I eksemplene senere i dette emnet ser du at kontekstvariabler kan inneholde flere typer informasjon, deriblant disse:

  • en enkelt verdi
  • en oppføring
  • en tabell
  • en objektreferanse
  • et resultat av en formel

En kontekstvariabel inneholder verdien til appen lukkes. Hvis du definerer en kontekstvariabel og angir verdien på et bestemt skjermbilde, vil denne informasjonen forbli intakt selv om brukeren bytter til et annet skjermbilde. Når appen lukkes, går verdien til kontekstvariabelen tapt, og den må opprettes på nytt når appen er lastet inn på nytt.

Alle kontekstvariabler er begrenset til ett skjermbilde. Hvis du vil definere en kontekstvariabel på ett skjermbilde og endre denne variabelen fra et annet skjermbilde, må du opprette en formel som er basert på Navigate-funksjonen. Eller bruk en global variabel.

UpdateContext har ingen returverdi, og du kan kun bruke den i en formel for virkemåte.

Syntaks

UpdateContext( UpdateRecord )

  • UpdateRecord – obligatorisk. En post som inneholder navnet på minst én kolonne og en verdi for denne kolonnen. En kontekstvariabel opprettes eller oppdateres for hver kolonne og verdi som du angir.

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

  • ContextVariable1 - obligatorisk. Navnet på en kontekstvariabel som skal opprettes eller oppdateres.
  • Value1 - obligatorisk. Verdien som skal tilordnes kontekstvariabelen.
  • ContextVariable2: Value2, ... - valgfritt. Ekstra kontekstvariabler å opprette eller oppdatere, og tilknyttede verdier.

Eksempler

Formel Beskrivelse Resultat
UpdateContext( { Counter: 1 } ) Oppretter eller endrer kontekstvariabelen Counter, og angir verdien dens til 1. Counter har verdien 1. Du kan referere til denne variabelen med navnet Counter i en formel.
UpdateContext( { Counter: 2 } ) Angir verdien for kontekstvariabelen Counter fra det forrige eksemplet som 2. Counter har verdien 2.
UpdateContext( { Name: "Lily", Score: 10 } ) Oppretter eller endrer kontekstvariablene Name og Score, angir verdiene til henholdsvis Lily og 10. Name har verdien Lily, og Score har verdien 10.
UpdateContext( { Person: { Name: "Milton", Address: "1 Main St" } } ) Oppretter eller endrer kontekstvariabelen Person, og angir verdien dens som en post. Posten inneholder to kolonner, kalt Name og Address. Verdien til Name-kolonnen er Milton, og verdien til Address-kolonnen er 1 Main St. Person har verdien for posten { Name: "Milton", Address: "1 Main St" } }.

Du kan referere til denne posten som helhet med navnet Person eller referer til en individuell kolonne for denne posten med Person.Name eller Person.Address.
UpdateContext( { Person: Patch( Person, {Address: "2 Main St" } ) } ) Fungerer med Patch-funksjonen for å oppdatere kontekstvariabelen Person, ved å angi verdien til Adresse-kolonnen som 2 Main St. Person har nå posten { Name: "Milton", Address: "2 Main St" } }.

Trinnvis veiledning – eksempel 1

  1. Gi standardskjermbildet navnet Kilde, legg til et annet skjermbilde, og gi det navnet Mål.

  2. Legg til to knapper på Kilde-skjermbildet, og angi Text-egenskapene slik at den ene er konfigurert for engelsk og den andre for spansk.

  3. Angi OnSelect-egenskapen for Engelsk-knappen til dette uttrykket:
    Navigate(Target, ScreenTransition.Fade, {Language:"English"})

  4. Angi OnSelect-egenskapen for Spansk-knappen til dette uttrykket:
    Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})

  5. Mål-skjermbildet legger du til en etikett, og angir Text-egenskapen til dette uttrykket:
    If(Language="English", "Hello!", "Hola!")

  6. Velg FigurerMål-skjermbildet på Sett inn-fanen, og velg deretter Tilbake-pilen.

  7. Angi Tilbake-pilens OnSelect-egenskap til denne formelen:
    Navigate(Source, ScreenTransition.Fade)

  8. Trykk på F5 i Kilde-skjermbildet, og velg deretter knappen for begge språk.

    Etiketten vises på språket som tilsvarer knappen du har valgt på Mål-skjermbildet.

  9. Velg Tilbake-pil for å gå tilbake til Kilde-skjermbildet, og velg deretter knappen for det andre språket.

    Etiketten vises på språket som tilsvarer knappen du har valgt på Mål-skjermbildet.

  10. Trykk på Esc for å gå tilbake til standardarbeidsområdet.

Trinnvis veiledning – eksempel 2

  1. Åpne lerretsappen der du vil bruke denne formelen.
  2. Legg til en ny tom skjerm ved å velge Ny skjerm fra kommandolinjen.
  3. Legg til en knapp, og sett knappens OnSelect-egenskap til denne formelen:
    UpdateContext( { Name: "Lily", Score: 10 } )