Funció UpdateContext

S'aplica a: Aplicacions de llenç

Crea o actualitza variables de context de la pantalla actual.

Informació general

Utilitzeu la funció UpdateContext per crear una variable de context, que temporalment conté una informació, com ara el nombre de vegades que l'usuari ha seleccionat un botó o el resultat d'una operació de dades.

Les variables de context estan delimitades a una pantalla, la qual cosa significa que no podeu crear una fórmula que faci referència a una variable de context d'una altra pantalla. Si heu utilitzat una altra eina de programació, una variable de context és semblant a una variable local. Utilitzeu la funció Set per treballar amb variables globals disponibles a tota l'aplicació.

Les aplicacions del Power Apps es basen en fórmules que es tornen a calcular automàticament a mesura que l'usuari interactua amb una aplicació. Les variables de context no ofereixen aquest benefici i poden fer que l'aplicació sigui més difícil de crear i d'entendre. Abans d'utilitzar una variable de context, reviseu Treballar amb variables.

Descripció

Per crear o actualitzar una variable de context, passeu un únic registre a la funció UpdateContext. A cada registre, especifiqueu el nom d'una columna, que defineix o coincideix amb el nom de la variable i el valor al qual voleu definir aquesta variable.

  • Si especifiqueu el nom d'una variable que heu definit prèviament, UpdateContext defineix el valor de la variable amb el valor que especifiqueu.
  • Si especifiqueu el nom d'una variable que encara no existeix, UpdateContext crea una variable amb aquest nom i defineix el valor d'aquesta variable al valor que especifiqueu.
  • Si heu definit prèviament una variable, però no la especifiqueu en aquesta fórmula UpdateContext concreta, el seu valor segueix sent el mateix.

Les variables de context es creen implícitament amb la funció UpdateContext o Navigate. No cal cap declaració explícita. Si elimineu totes les referències UpdateContext i Navigate d'una variable de context, aquesta variable de context deixarà d'existir. Per esborrar una variable, definiu-ne el valor al resultat de la funció Blank.

Podeu veure els valors, les definicions i els usos de les variables amb la Visualització de variables al menú Fitxer de l'entorn de creació.

Feu referència a una variable de context d'una fórmula mitjançant el nom de la columna de la variable. Per exemple, UpdateContext({ShowLogo: true}) crea una variable de context anomenada ShowLogo i en defineix el valor com a true. A continuació, podeu utilitzar el valor d'aquesta variable de context mitjançant el nom ShowLogo d'una fórmula. Podeu escriure ShowLogo com a fórmula per a la propietat Visible d'un control d'imatge i mostrar o amagar aquest control en funció de si el valor de la variable de context és true o false.

Tal com mostren els exemples més endavant en aquest tema, les variables de context poden contenir diversos tipus d'informació, com ara:

  • un únic valor
  • un registre
  • una taula
  • una referència a un objecte
  • qualsevol resultat d'una fórmula

Una variable de context conserva el valor fins al tancament de l'aplicació. Si definiu una variable de context i en definiu el valor en una pantalla concreta, aquesta informació es conserva intacta fins i tot si l'usuari canvia a una altra pantalla. Un cop es tanca l'aplicació, el valor de la variable de context es perdrà i s'ha de tornar a crear quan l'aplicació es torni a carregar.

Cada variable de context té un àmbit d'una pantalla. Si voleu definir una variable de context en una pantalla i modificar-la en una altra pantalla, heu de crear una fórmula basada en la funció Navigate. O bé, utilitzeu una variable global.

UpdateContext no té valor de retorn i només es pot utilitzar dins d'una fórmula de comportament.

Sintaxi

UpdateContext(UpdateRecord)

  • UpdateRecord: obligatori. Un registre que conté el nom d'almenys una columna i un valor per a la columna. Es crea o s'actualitza una variable de context per a cada columna i el valor que especifiqueu.

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

  • ContextVariable1: obligatori. El nom de la variable de context que voleu crear o actualitzar.
  • Value1: obligatori. El valor que voleu assignar a la variable de context.
  • ContextVariable2: Value2, ...: opcional. Variables de context addicionals que voleu crear o actualitzar i els seus valors.

Exemples

Fórmula Descripció Resultat
UpdateContext( { Comptador: 1 } ) Crea o modifica la variable de context Comptador i en defineix el valor a 1. Comptador té el valor 1. Podeu fer referència a aquesta variable amb el nom Comptador en una fórmula.
UpdateContext( { Comptador: 2 } ) Defineix el valor de la variable de context Comptador de l'exemple anterior en 2. Comptador té el valor 2.
UpdateContext( { Nom: "Lily", Puntuació: 10 } ) Crea o modifica les variables de context Nom i Puntuació i en defineix els valors com a Lily i 10, respectivament. Nom té el valor Lily i Puntuació té el valor 10.
UpdateContext( { Persona: { Nom: "Milton", Adreça: "1 Main St" } } ) Crea o modifica la variable de context Persona i en defineix el valor a un registre. El registre conté dues columnes, anomenades Nom i Adreça. El valor de la columna Nom és Milton, mentre que el valor de la columna Adreça és 1 Main St. Persona té el valor de registre { Nom: "Milton", Adreça: "1 Main St" } }.

Feu referència a aquest registre com a conjunt amb el nom Persona o feu referència a una columna individual d'aquest registre amb Person.Name o Person.Address.
UpdateContext( { Persona: Patch( Persona, {Adreça: "2 Main St" } ) } ) Utilitza la funció Patch per actualitzar la variable de context Persona mitjançant la definició del valor de la columna Adreça a 2 Main St. Persona ara té el valor de registre {Nom: "Milton", Adreça: "2 Main St" } }.

Exemple pas a pas 1

  1. Anomeneu la pantalla per defecte Origen, afegiu una altra pantalla i anomeneu-la Destinació.

  2. A la pantalla Origen, afegiu dos botons i definiu-ne les propietats Text de manera que una sigui Anglès i l'altra, Espanyol.

  3. Definiu la propietat OnSelect del botó Anglès a aquesta expressió:
    Navigate(Destinació, ScreenTransition.Fade, {Llengua:"Anglès"})

  4. Definiu la propietat OnSelect del botó Espanyol a aquesta expressió:
    Navigate(Destinació, ScreenTransition.Fade, {Llengua:"Espanyol"})

  5. A la pantalla Destinació, afegiu una etiqueta i definiu-ne la propietat Text en aquesta expressió:
    If(Llengua="Anglès", "Hello!", "Hola!")

  6. A la pantalla Destinació, seleccioneu Formes a la pestanya Insereix i, a continuació, seleccioneu la fletxa enrere.

  7. Definiu la propietat OnSelect de la fletxa enrere a aquesta fórmula:
    Navigate(Origen, ScreenTransition.Fade)

  8. A la pantalla Origen, premeu F5 i, a continuació, seleccioneu el botó per a una llengua.

    A la pantalla Destinació, l'etiqueta apareix en la llengua que correspon al botó que heu seleccionat.

  9. Seleccioneu la fletxa enrere per tornar a la pantalla Origen i, a continuació, seleccioneu el botó per a l'altra llengua.

    A la pantalla Destinació, l'etiqueta apareix en la llengua que correspon al botó que heu seleccionat.

  10. Premeu Esc per tornar a l'àrea de treball per defecte.

Exemple pas a pas 2

  1. Obriu l'aplicació del llenç on vulgueu utilitzar aquesta fórmula.
  2. Afegiu una nova pantalla en blanc seleccionant Pantalla nova a la barra d'ordres.
  3. Afegiu un botó i definiu-ne la propietat OnSelect a aquesta fórmula:
    UpdateContext( { Nom: "Lily", Puntuació: 10 } )