Función UpdateContext
Aplícase a: aplicacións Canvas
Crea ou actualiza variables de contexto da pantalla actual.
Visión xeral
Use a función UpdateContext para crear unha variable de contexto, que contén temporalmente unha información, como o número de veces que o usuario seleccionou un botón ou o resultado dunha operación de datos.
As variables de contexto están orientadas a unha pantalla, o que significa que non pode construír unha fórmula que se refira a unha variable de contexto doutra pantalla. Se empregou outra ferramenta de programación, pode pensar nunha variable de contexto como semellante a unha variable local. Use a función Set para traballar con variables globais dispoñibles en toda a aplicación.
Power Apps baséase en fórmulas que se recalculan automaticamente a medida que o usuario interactúa cunha aplicación. As variables de contexto non ofrecen este beneficio e poden facer que a aplicación sexa máis difícil de crear e entender. Antes de usar unha variable de contexto, revise traballar con variables.
Descripción
Para crear ou actualizar unha variable de contexto, pase un único rexistro á función UpdateContext. En cada rexistro, especifique o nome da columna, que define ou coincide co nome da variable, e co valor no que desexa establecer esa variable.
- Se especifica o nome dunha variable que xa definiu previamente, UpdateContextestablece o valor da variable no valor que especifique.
- Se especifica o nome dunha variable que aínda non existe, UpdateContext crea unha variable con ese nome e establece o valor desa variable no valor que especifique.
- Se xa definiu unha variable pero non a especifica nesta fómula de UpdateContext particular, o seu valor segue sendo o mesmo.
Variables de contexto implicitamente creadas mediante a función UpdateContext ou Navigate. Non é necesaria ningunha declaración explícita. Se elimina todas as referencias de UpdateContext e Navigate a unha variable de contexto, entón esa variable de contexto deixará de existir. Para borrar unha variable estableza o seu valor no resultado da Blank function.
Pode ver os valores, as definicións e os usos das súas variables coa vista Variables do menú Ficheiro no contorno de creación.
Vostede fai referencia a unha variable de contexto nunha fórmula mediante o nome da columna da variable. Por exemplo, UpdateContext( { ShowLogo: true } )crea unha variable de contexto chamada ShowLogo e define o seu valor en verdadeiro. Logo pode usar o valor desta variable de contexto usando o nome ShowLogo nunha fórmula. Pode escribir ShowLogo como fórmula para a propiedade Visible dun control de imaxe e mostrar ou ocultar ese control en función de se o valor da variable de contexto é verdadeiro ou falso.
Como mostran os exemplos posteriores neste tema, as variables de contexto poden ter varios tipos de información, incluídos estes:
- un único valor
- un rexistro
- unha táboa
- unha referencia do obxecto
- calquera resultado dunha fórmula
Unha variable de contexto mantén o seu valor ata que se pecha a aplicación. Se define unha variable de contexto e establece o seu valor nunha pantalla determinada, esa información permanece intacta aínda que o usuario cambie a outra pantalla. Unha vez que a aplicación estea pechada, perderase o valor da variable de contexto e debe ser recreado cando a aplicación se volva cargar.
Cada variable de contexto está orientada a unha pantalla. Se desexa definir unha variable de contexto nunha pantalla e modificar esa variable doutra pantalla, ten que crear unha fórmula baseada na función Navigate. Ou usar unha variable global.
UpdateContext non ten valor de retorno e só podes usalo dentro dunha fórmula de comportamento.
Sintaxe
UpdateContext( UpdateRecord )
- UpdateRecord – Obrigatorio. Un rexistro que contén o nome de polo menos unha columna e un valor para esa columna. Créase ou actualízase unha variable de contexto para cada columna e valor que especifique.
UpdateContext( { ContextVariable1: Value1 [, ContextVariable2 : Valor2 [, ... ] ] } )
- ContextVariable1 - Obrigatorio. O nome dunha variable de contexto para crear ou actualizar.
- Value1 - Obrigatorio. O valor que hai que asignar á variable de contexto.
- ContextVariable2: Valor2, ... - Opcional. Variables de contexto adicionais para crear ou actualizar e os seus valores.
Exemplos
Fórmula | Descripción | Resultado |
---|---|---|
UpdateContext( { Contador: 1 } ) | Crea ou modifica a variable de contexto Counter, definindo o seu valor en 1. | O contador ten o valor 1. Pode facer referencia a esa variable usando o nome Counter nunha fórmula. |
UpdateContext( { Contador: 2 } ) | Define o valor da variable do contexto Counter do exemplo anterior en 2. | O contador ten o valor 2. |
UpdateContext( { Nome: "Lily", Puntuación: 10 } ) | Crea ou modifica as variables de contexto Name e Scope, fixando os seus valores en Lily e 10 respectivamente. | Nome ten o valor Lily e Puntuación ten o valor 10. |
UpdateContext( { Persoa: { Nome: "Milton", Enderezo: "1 Main St" } } ) | Crea ou modifica a variable de contexto Person, definindo o seu valor nun rexistro. O rexistro contén dúas columnas, chamadas Name e Address. O valor da columna Name é Milton, e o valor da columna Address é 1 Main St. | Persoa ten o valor de rexistro { Nome: "Milton", Enderezo: "1 Main St" } }. Faga referencia a este rexistro en conxunto co nome Person, ou faga referencia a unha columna individual deste rexistro con Person.Name ou Person.Address. |
UpdateContext( { Persoa: Patch( Persoa, {Enderezo: "2 Main St" } ) } ) | Traballa coa función Patch para actualizar a variable de contexto Person definindo o valor da columna Address en 2 Main St. | Persoa agora ten o valor de rexistro { Nome: "Milton", Enderezo: "2 Main St" } }. |
Exemplo paso a paso 1
Denomine a pantalla predeterminada Source, engada outra pantalla e denomínea Target.
No pantalla Source, engada dous botóns e configure as propiedades de texto para que nunha diga English e na outra diga Spanish.
Axuste a propiedade OnSelect do botón English nesta expresión:
Navegar (Destino, Transición de pantalla. Esvaecemento, {Idioma:"inglés"})Axuste a propiedade OnSelect do botón Spanish nesta expresión:
Navegar(Destino, ScreenTransition.Fade, {Idioma:"español"})Na pantalla Target, engada unha etiqueta e estableza a súa propiedade de texto nesta expresión:
Se (Idioma = "Inglés", "Ola!", "Hola!")Na pantalla Target, seleccione Formas no separador Insertar e logo seleccione a frecha cara atrás.
Axuste a propiedade OnSelect da frecha cara atrás nesta fórmula:
Navegar (Fonte, ScreenTransition.Fade)Na pantalla Source, prema F5 e seleccione o botón para calquera idioma.
Na pantalla Target, a etiqueta aparece no idioma que corresponde ao botón que seleccionou.
Seleccione a frecha cara atrás para volver á pantalla Source e seleccione o botón para o outro idioma.
Na pantalla Target, a etiqueta aparece no idioma que corresponde ao botón que seleccionou.
Prema Esc para volver ao espazo de traballo predeterminado.
Exemplo paso a paso 2
- Abra a aplicación de lenzo onde desexa usar esta fórmula.
- Engada unha nova pantalla en branco seleccionando Nova pantalla na barra de comandos.
- Engada un botón e axuste a súa propiedade OnSelect nesta fórmula:
UpdateContext( { Nome: "Lily", Puntuación: 10 } )