Neste artigo, vou mostrar-te como podes modificar um formulário em Power Apps.
O Controlo de Formulário é uma forma simples e rápida de inserir ou editar informação numa base de dados, com uma série de cartões pré-definidos que representam os campos da base de dados, sem necessidade de construir a interface de raiz.
Contudo, podemos por vezes ter a necessidade de modificar as propriedades dos controlos para termos mais opções de personalização! É isso que vamos ver neste artigo.
Neste artigo, vou mostrar-te tudo o que precisas de saber. Caso tenhas alguma dúvida envia-nos a uma mensagem... ficamos à tua espera!
Ambiente da aplicação
Continuamos com o artigo anterior, onde explico como criar um formulário de raiz, em que já temos a aplicação pronta.
Modificar o primeiro controlo de formulário
No formulário temos um campo que representa o ID do colaborador. Este ID representa o Identificador único do colaborador. Neste caso, optando por criar um registo, será útil que este ID seja um valor automático e sequencial. Para que esta lógica funcione, temos em primeiro lugar que obter o valor do último registo disponível, e desta forma acrescentar sempre mais 1 ao valor existente.
Uma das soluções é armazenar numa variável o registo do último valor disponível na base de dados, mas também devemos ter em conta, onde é que esse valor será armazenado.
Criando uma variável é simples de armazenar o valor, mas identificar o ponto onde a variável será executada é de extrema importância.
Vamos começar por detetar o último valor disponível da base de dados. A variável pode chamar-se var_ValorTotal e a sua expressão é a função Last que identifica o último registo da base de dados, neste caso o campo ID.
Set(var_ValorTotal; Last(Departamentos).ID)
Agora, esta variável, será executada sempre que entramos no ecrã do formulário, para realizar a contagem do último registo. Utilizamos a propriedade OnVisible do ecrã do Formulário.
Sempre que entramos no ecrã do formulário, a variável irá detetar o valor do ID do último registo da base de dados.
Utilizar o ID da variável, para modificar o controlo do formulário
Agora que temos o último registo, devemos utilizá-lo no cartão do ID do colaborador. Contudo, também devemos perceber onde será utilizado este valor armazenado pela variável. Este valor deve ser aplicado, apenas quando pretendemos adicionar um novo registo, e não quando editamos ou visualizamos um colaborador.
Todos os controlos de formulário estão bloqueados por predefinição, o que significa que, sempre que pretendemos alterar alguma propriedade, devemos começar por desbloquear o controlo.
Depois do controlo estar desbloqueado, temos acesso às propriedades de cada um dos objetos que compõem o cartão (ID_DataCard1).
A propriedade que pretendo alterar, neste caso em específico, é a propriedade Value que representa o valor do ID. Por defeito a propriedade tem a expressão Parent.Default que obtém o valor Default do seu parente, que é o Formulário.
A lógica a implementar será a seguinte: Caso o estado do formulário seja diferente de um Novo Registo, mantemos o ID Default (Parent.Default), caso contrário iremos obter um novo ID. Este é um exemplo ótimo para usarmos a expressão If.
If( frm_dados.Mode <> FormMode.New; Parent.Default; var_ValorTotal + 1)
Modificar outros controlos do Formulário
De seguida vamos modificar mais um controlo do formulário, neste caso o cartão com o Departamento. Este exemplo pode ser utilizado também para alterarmos por exemplo o Género do colaborador, uma vez que o objetivo é ter uma lista com os departamentos. Para tal vamos utilizar o controlo da Caixa de Combinação (ComboBox).
Dentro do cartão do departamento, começamos por introduzir uma caixa de combinação.
Caso o cartão esteja bloqueado, surge a mensagem para desbloquear e inserir o controlo.
Após desbloquearmos podemos prosseguir com o controlo. O controlo é adicionado dentro do cartão, e podemos alterar o seu nome.
Definir os Itens da Caixa de Combinação
Agora que temos a caixa de combinação, podemos começar por definir os seus itens, que podem ser colocados manualmente, mas que neste caso vamos usar a função Distinct para obtermos uma lista única dos valores da base de dados.
Se testarmos a aplicação [F5] conseguimos visualizar os Departamentos na Caixa de Combinação.
Alterar o valor pré-definido da Caixa de Combinação
Podemos ainda fazer mais uma alteração à caixa de combinação. O valor pré-definido da Caixa de Combinação é “Encontrar Itens” que faz sentido quando pretendemos criar um registo, mas se estivermos a editar, ou visualizar um registo existente deverá aparecer o Departamento do Colaborador que estamos a consultar. Desta forma podemos usar a expressão If na propriedade InputTextPlaceholder.
If( frm_Dados.Mode <> FormMode.New; LookUp(Departamentos; ID = Dados.Selected.ID).Departamento;"Escolher Departamento")
A expressão If avalia a condição, neste caso, se o formulário se encontra num modo que não seja New. Se esta condição for verdadeira, utilizamos a função LookUp para procurar na tabela dos Departamentos o ID do colaborador.
Podemos logo verificar, uma vez que o formulário está em modo de visualização, que a Caixa de Combinação tem o mesmo valor que o cartão inicial.
Substituir o Cartão Original pela Caixa de Combinação
Agora só nos falta substituir o Cartão Original pela Caixa de Combinação. Assim que removermos o cartão original, vão surgir alguns erros de fórmulas. Para corrigirmos os erros, basta alterar as fórmulas para acederem à caixa de combinação, em vez do cartão original.
Corrigimos a fórmula conforme o erro indicado.
A correção da propriedade Update…
Desta forma, podemos personalizar um formulário alterando os controlos pré-definidos, modificando as suas propriedades para que a aplicação possa ser mais individualizada e adaptada às necessidades específicas.
Power BI: Apresentação dos novos Cálculos Visuais
Neste vídeo, vou mostrar-te a nova funcionalidade disponível no Power BI que permite criar Cálculos Visuais! Vamos lá?
VBA e função FILTRAR: Exportar um relatório para PDF
Neste vídeo, vou mostrar-te como podes usar a função FILTRAR para obter um conjunto de dados sobre um determinado critério. Vamos lá?
Novidade no Excel: AGRUPARPOR [GROUPBY] e DINAMIZARPOR [PIVOTBY]!
Neste vídeo, analisamos as novas funções disponíveis no Microsoft Excel. Vamos lá?
Power BI: Cálculos Visuais: Funções COLLAPSE e EXPAND
Neste vídeo, vou mostrar-te mais um conjunto de novas funções DAX, disponíveis para os cálculos visuais, assim como os outros modelos para aplicar os cálculos de uma forma mais rápida num determinado visual. Vamos lá?
Outros conteúdos relevantes:
Power BI (Desktop): parâmetros de campo para alterar visuais
Neste vídeo, vou mostrar-te como podes criar um relatório dinâmico, em Power BI (Desktop), para poder aplicar vários parâmetros de analise em visuais. Vamos lá?
Power Apps: Para quê criar um componente?
Criar um componente em Power Apps? O que é um componente e para que serve? É isso que vamos saber neste vídeo! Vamos lá?