Usar controles e funções para criar uma fórmula dinâmica

Concluído

O exercício a seguir usa o controle Botão e a função UpdateContext para criar uma fórmula dinâmica a fim de alterar o DisplayMode de um botão.

  1. Navegue até Power Apps.

  2. Selecione + Criar>Aplicativo em branco>Criar (em Aplicativo de tela em branco). Dê um nome ao aplicativo e selecione Criar.

  3. Selecione a opção de menu Inserir e adicione um Botão.

  4. Altere a propriedade Texto do botão para Adicionar.

    Dica

    Você pode alterar rapidamente a propriedade text de um controle de botão clicando duas vezes no próprio controle enquanto estiver no modo de edição.

  5. Insira outro controle Botão e altere o Texto para Clear.

  6. Adicione um Rótulo de texto e uma Entrada de texto à tela.

  7. Renomeie o controle de entrada de texto tiAmount e, na propriedade Default, exclua "Entrada de texto". Para a propriedade Format, digite TextFormat.Number.

    Observação

    A imagem a seguir mostra o exercício concluído. Consulte essa imagem para ver o posicionamento e os nomes dos controles. Se você estiver retornando erros com seu código, verifique se os nomes de controle correspondem ao código escrito.

  8. Selecione o botão Add (Button1) e defina a propriedade OnSelect como:

    UpdateContext({RunningTotal: RunningTotal + Value(tiAmount.Text)})
    
  9. Selecione o botão Clear (Button2) e defina a propriedade OnSelect como:

    UpdateContext({RunningTotal: 0}); Reset (tiAmount)
    
  10. Defina a propriedade DisplayMode do botão Clear como:

    If(RunningTotal > 0, DisplayMode.Edit, DisplayMode.Disabled)
    

    Note que, após atualizar a propriedade DisplayMode, ela ficará acinzentada (ou desabilitada).

  11. Selecione o controle Rótulo (Label1) e atualize a propriedade Text para nossa variável de contexto: RunningTotal

  12. Teste o aplicativo no modo de Visualização. Na entrada de texto, insira um número positivo e selecione o botão Add.

    Após você selecionar o botão Add, o botão Clear será selecionável.

  13. Selecione o botão Clear para limpar o campo de entrada e o RunningTotal.

    Neste exemplo, usamos uma função If para avaliar se RunningTotal é maior que 0. Se for maior que 0, o botão Clear se tornará editável (DisplayMode.Edit). Se a variável não tiver valor ou for 0, o botão será desabilitado (DisplayMode.disabled).

    Outra maneira de obter a mesma funcionalidade é evitar a variável de contexto nas fórmulas. Nesse caso, você poderia nomear um controle na fórmula DisplayMode. Por exemplo, poderíamos usar o valor de nosso controle rótulo na fórmula.

  14. Coloque o aplicativo novamente no modo de edição e selecione o botão Clear. Selecione a propriedade DisplayMode e altere a fórmula para o seguinte:

    If(Value(Label1.Text) > 0, DisplayMode.Edit, DisplayMode.Disabled)
    

    Como o controle rótulo armazena informações como texto, não se esqueça de usar a função Value. A função Value converte uma cadeia de caracteres numérica de texto em um número. Se você tentar avaliar o texto em relação a um valor, verá um erro na fórmula. Empacotar a propriedade text do rótulo em uma função Value garante que o Power Apps a interprete como um número.

À medida que continuar aprendendo, desenvolvendo e implantando mais aplicativos, você verá que, geralmente, há pelo menos algumas maneiras de criar a mesma funcionalidade usando diferentes controles, funções e propriedades.