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 devolto e só pode usala 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: Value2 [, ... ] ] } )

  • ContextVariable1 - Obrigatorio. O nome dunha variable de contexto para crear ou actualizar.
  • Value1 - Obrigatorio. O valor que hai que asignar á variable de contexto.
  • ContextVariable2: Value2, ... - Opcional. Variables de contexto adicionais para crear ou actualizar e os seus valores.

Exemplos

Fórmula Descripción Resultado
UpdateContext( { Counter: 1 } ) Crea ou modifica a variable de contexto Counter, definindo o seu valor en 1. Counter ten o valor 1. Pode facer referencia a esa variable usando o nome Counter nunha fórmula.
UpdateContext( { Counter: 2 } ) Define o valor da variable do contexto Counter do exemplo anterior en 2. Counter ten o valor 2.
UpdateContext( { Name: "Lily", Score: 10 } ) Crea ou modifica as variables de contexto Name e Scope, fixando os seus valores en Lily e 10 respectivamente. Name ten o valor Lily e Score ten o valor 10.
UpdateContext( { Person: { Name: "Milton", Address: "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. Person ten o valor do rexistro { Name: "Milton", Address: "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( { Person: Patch( Person, {Address: "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. Person agora ten o valor do rexistro { Name: "Milton", Address: "2 Main St" } }.

Exemplo paso a paso 1

  1. Denomine a pantalla predeterminada Source, engada outra pantalla e denomínea Target.

  2. No pantalla Source, engada dous botóns e configure as propiedades de texto para que nunha diga English e na outra diga Spanish.

  3. Axuste a propiedade OnSelect do botón English nesta expresión:
    Navigate(Target, ScreenTransition.Fade, {Language:"English"})

  4. Axuste a propiedade OnSelect do botón Spanish nesta expresión:
    Navigate(Target, ScreenTransition.Fade, {Language:"Spanish"})

  5. Na pantalla Target, engada unha etiqueta e estableza a súa propiedade de texto nesta expresión:
    If(Language="English", "Hello!", "Hola!")

  6. Na pantalla Target, seleccione Formas no separador Insertar e logo seleccione a frecha cara atrás.

  7. Axuste a propiedade OnSelect da frecha cara atrás nesta fórmula:
    Navigate(Source, ScreenTransition.Fade)

  8. 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.

  9. 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.

  10. Prema Esc para volver ao espazo de traballo predeterminado.

Exemplo paso a paso 2

  1. Abra a aplicación de lenzo onde desexa usar esta fórmula.
  2. Engada unha nova pantalla en branco seleccionando Nova pantalla na barra de comandos.
  3. Engada un botón e axuste a súa propiedade OnSelect nesta fórmula:
    UpdateContext( { Name: "Lily", Score: 10 } )