Função UpdateContext
Aplica-se a: aplicativos Canvas
Cria ou atualiza uma ou mais variáveis de contexto da tela atual.
Visão Geral
Use a função UpdateContext para criar uma variável de contexto que armazena temporariamente uma informação, como o número de vezes que o usuário selecionou um botão ou o resultado de uma operação de dados.
Variáveis de contexto limitam-se a uma tela, o que significa que você não pode criar uma fórmula que se refere a uma variável de contexto em outra tela. Se já tiver usado outra ferramenta de programação, você poderá pensar uma variável de contexto como sendo semelhante a uma variável local. Use a função Set para trabalhar com variáveis globais que estão disponíveis em seu aplicativo.
O Power Apps é baseado em fórmulas que se recalculam automaticamente conforme a interação do usuário com o aplicativo. As variáveis de contexto não oferecem esse benefício e podem fazer com que seja mais difícil criar e entender seu aplicativo. Antes de usar uma variável de contexto, consulte Como trabalhar com variáveis.
Descrição
Para criar ou atualizar uma variável de contexto, passe um único registro para a função UpdateContext. Em cada registro, especifique o nome de uma colunaque define ou corresponde ao nome da variável e o valor para o qual você deseja definir essa variável.
- Se você especificar o nome de uma variável definida anteriormente, UpdateContext definirá o valor da variável como o valor que você especificar.
- Se você especificar o nome de uma variável que ainda não existe, UpdateContext criará uma variável com o mesmo nome e definirá o valor da variável como o valor que você especificar.
- Se você tiver definido uma variável anteriormente e não especificá-la nesta fórmula UpdateContext, seu valor permanecerá o mesmo.
Variáveis de contexto são criadas implicitamente, usando a função UpdateContext ou Navigate. Não há nenhuma declaração explícita necessária. Se você remover todas as referências UpdateContext e Navigate para uma variável de contexto, essa variável de contexto deixará de existir. Para limpar uma variável, defina seu valor como o resultado da função Blank.
Você pode ver os valores, definições e usos de suas variáveis com o modo de exibição Variáveis no menu Arquivo no ambiente de criação.
Você faz referência a uma variável de contexto em uma fórmula usando o nome da coluna da variável. Por exemplo, UpdateContext( { ShowLogo: true } ) cria uma variável de contexto chamada ShowLogo e define seu valor como true. Você pode usar o valor dessa variável de contexto usando o nome ShowLogo em uma fórmula. Você pode escrever ShowLogo como a fórmula para a propriedade Visible do controle Image e exibir ou ocultar tal controle com base no valor da variável de contexto, ou seja, se ele é true ou false.
Como mostram os exemplos neste tópico, variáveis de contexto podem conter vários tipos de informações, incluindo:
- um único valor
- um registro
- uma tabela
- uma referência de objeto
- qualquer resultado de uma fórmula
Uma variável de contexto mantém seu valor até o aplicativo ser fechado. Se você definir uma variável de contexto e configurar seu valor em uma determinada tela, essas informações permanecerão intactas, mesmo se o usuário alternar para uma tela diferente. Depois que o aplicativo for fechado, o valor da variável de contexto será perdido e deverá ser recriado quando o aplicativo for carregado novamente.
Toda variável de contexto é vinculada a uma tela. Se quiser definir uma variável de contexto em uma tela e modificar essa variável em outra tela, você deverá criar uma fórmula que se baseie na função Navigate. Ou use uma variável global.
UpdateContext não tem valor de retorno e você pode usá-lo somente dentro de uma fórmula de comportamento.
Sintaxe
AtualizarContexto( AtualizarRegistro )
- UpdateRecord – Obrigatório. Um registro que contém o nome de, pelo menos, uma coluna e um valor para essa coluna. Uma variável de contexto é criada ou atualizada para cada coluna e valor que você especificar.
UpdateContext( { Variável de Contexto1: Valor1 [, Variável de Contexto2: Valor2 [, ... ] ] } )
- ContextVariable1 - Obrigatório. O nome de uma variável de contexto para criar ou atualizar.
- Valor1 - Obrigatório. O valor a ser atribuído à variável de contexto.
- ContextVariable2: Value2, ... - Opcional. Variáveis de contexto adicionais para criar ou atualizar e seus valores.
Exemplos
Fórmula | Descrição | Resultado |
---|---|---|
UpdateContext( { Contador: 1 } ) | Cria ou modifica a variável de contexto Counter, definindo seu valor como 1. | O contador tem o valor 1. Você pode referenciar essa variável usando o nome Counter em uma fórmula. |
UpdateContext( { Contador: 2 } ) | Define o valor da variável de contexto Counter do exemplo anterior para 2. | O contador tem o valor 2. |
UpdateContext( { Nome: "Lily", Pontuação: 10 } ) | Cria ou modifica as variáveis de contexto Name e Score, definindo seus valores como Lily e 10, respectivamente. | Nome tem o valor Lily e Pontuação tem o valor 10. |
UpdateContext( { Pessoa: { Nome: "Milton", Endereço: "1 Main St" } } ) | Cria ou modifica a variável de contexto Person, definindo seu valor como um registro. O registro contém duas colunas, chamadas Name e Address. O valor da coluna Name é Miltone o valor da coluna Address é 1 Main St. | Pessoa tem o valor do registro { Nome: "Milton", Endereço: "1 Main St" } }. Fazer referência a esse registro como um todo com o nome Person, ou fazer referência a uma coluna individual desse registro com Person.Name ou Person.Address. |
UpdateContext( { Pessoa: Patch(Pessoa, {Endereço: "2 Main St" } ) } ) | Funciona com a função Patch para atualizar a variável de contexto Person, definindo o valor da coluna Address como 2 Main St. | Pessoa agora tem o valor de registro { Nome: "Milton", Endereço: "2 Main St" } }. |
Exemplo passo a passo 1
Nomeie a tela padrão como Fonte, adicione outra tela e nomeie-a como Destino.
Na tela Fonte, adicione dois botões e defina suas propriedades Text para que uma diga inglês e a outra diga espanhol.
Defina a propriedade OnSelect do botão inglês para esta expressão:
Navegar(Destino, ScreenTransition.Fade, {Idioma:"Inglês"})Defina a propriedade OnSelect do botão espanhol para esta expressão:
Navegar(Destino, ScreenTransition.Fade, {Idioma:"Espanhol"})Na tela Destino, adicione um rótulo e defina sua propriedade Text para esta expressão:
If(Language="Inglês", "Olá!", "Hola!")Na tela Destino, selecione Formas na aba Inserir e clique na seta Voltar.
Definir a propriedade OnSelect da seta Voltar para esta fórmula:
Navegar(Fonte, TransiçãoDeTela.Fade)Na tela Fonte, pressione F5 e selecione o botão para qualquer idioma.
Na tela Destino, o rótulo é exibido no idioma que corresponde ao botão que você selecionou.
Selecione a seta Voltar para retornar para a tela Fonte e, em seguida, selecione o botão do outro idioma.
Na tela Destino, o rótulo é exibido no idioma que corresponde ao botão que você selecionou.
Pressione Esc para retornar ao espaço de trabalho padrão.
Exemplo passo a passo 2
- Abra o aplicativo de tela onde deseja usar esta fórmula.
- Adicione uma nova tela em branco selecionando Nova tela na barra de comando.
- Adicione um botão e defina a propriedade OnSelect para esta fórmula:
UpdateContext( { Nome: "Lily", Pontuação: 10 } )