Entender formulários de aplicativo de tela

Adicione três tipos de controles a um aplicativo de tela para que o usuário possa procurar um registro, exibir detalhes sobre esse registro e editar ou criar um registro:

Atividade Controle Descrição
Procurar um registro Controle Galeria Filtre, classifique, pesquise e percorra registros em uma fonte de dados e selecione um registro específico. Exiba apenas alguns campos de cada registro para mostrar vários registros de uma vez, até mesmo em uma tela pequena.
Exibir os detalhes de um registro Controle Exibir formulário Para um único registro, exiba vários ou todos os campos no registro.
Editar ou criar um registro Controle Editar formulário Atualize um ou mais campos em um único registro (ou crie um registro começando com os valores padrão) e salve essas alterações de volta para a fonte de dados subjacente.

Coloque cada controle em uma tela diferente para torná-las mais fáceis de distinguir:

Procurar, exibir e editar registros em três telas.

Como este tópico descreve, combine esses controles com fórmulas para criar a experiência geral do usuário.

Pré-requisitos

Explorar um aplicativo gerado

O Power Apps pode gerar automaticamente um aplicativo com base em uma fonte de dados que você especificar. Cada aplicativo contém três telas com os controles descritos anteriormente e as fórmulas que os conectam. Execute esses aplicativos "prontos para uso", personalize-os para seus objetivos específicos ou examine como eles funcionam para que você possa aprender conceitos úteis que se aplicam a seus próprios aplicativos. Nas seções a seguir, inspecione as telas, controles e fórmulas que acionam um aplicativo gerado.

Tela de navegação

Tela de navegação.

Essa tela apresenta estas fórmulas principais:

Control Comportamento com suporte Fórmula
BrowseGallery1 Exiba registros da fonte de dados Assets. A propriedade Items da galeria é definida como uma fórmula que se baseia na fonte de dados Assets.
ImageNewItem1 Exiba a tela Editar e Criar com cada campo definido como um valor padrão, para que o usuário possa criar facilmente um registro. A propriedade OnSelect da imagem é definida como esta fórmula:
NewForm( EditForm1 );
Navigate( EditScreen1, None )
NextArrow1 (na galeria) Exiba a tela Detalhes para exibir vários ou todos os campos do registro atualmente selecionado. A propriedade OnSelect da seta é definida como esta fórmula:
Navigate( DetailScreen1, None )

O controle principal nessa tela, BrowseGallery1, aborda a maior parte da área da tela. O usuário pode rolar por toda a galeria para localizar um registro específico para exibir mais campos ou atualizar.

Defina a propriedade Items de uma galeria para exibir os registros de uma fonte de dados nela. Por exemplo, defina essa propriedade como Assets para mostrar os registros de uma fonte de dados desse nome.

Observação

Em um aplicativo gerado, Items é definido como uma fórmula significativamente mais complicada por padrão para que o usuário possa classificar e pesquisar registros. Você aprenderá a criar essa fórmula mais tarde neste tópico; a versão mais simples é suficiente por enquanto.

Em vez de localizar um registro para exibir ou editar, o usuário pode criar um registro selecionando o símbolo "+" acima da galeria. Crie esse efeito, adicionando um controle Imagem, mostrando um símbolo "+" nele e definindo sua propriedade OnSelect como esta fórmula:
NewForm( EditForm1 ); Navigate( EditScreen1, None )

Essa fórmula abre a tela Editar e Criar, que apresenta um controle Editar formulário chamado EditForm1. A fórmula também muda esse formulário para o modo Novo, no qual o formulário mostra valores padrão da fonte de dados para que o usuário possa criar facilmente um registro do zero.

Para examinar qualquer controle que aparece em BrowseGallery1, selecione o controle na primeira seção dessa galeria, que serve como um modelo para todas as outras seções. Por exemplo, selecione o controle Rótulo intermediário na borda esquerda:

Controles da tela de navegação.

Neste exemplo, a propriedade Text do controle é definida como ThisItem.AssignedTo, que é um campo na fonte de dados Assets. A propriedade Text dos outros três controles Rótulo na galeria é definida como fórmulas semelhantes e cada controle mostra um campo diferente na fonte de dados.

Selecione o controle Forma (a seta) e confirme se a propriedade OnSelect está definida como esta fórmula:
Navigate( DetailScreen1, None )

Se o usuário localizar um registro em BrowseGallery1, ele poderá selecionar a seta para esse registro mostrar mais informações sobre ele em DetailScreen1. Ao selecionar uma seta, o usuário altera o valor da propriedade Selected de BrowseGallery1. Neste aplicativo, propriedade determina qual registro aparecerá não apenas em DetailScreen1, mas também, se o usuário decidir atualizar o registro, na tela Editar e Criar.

Tela Detalhe

Controles da tela Detalhe.

Essa tela apresenta estas fórmulas principais:

Control Comportamento com suporte Fórmula
DetailForm1 Exibe um registro na fonte de dados Assets Defina a propriedade DataSource como Assets.
DetailForm1 Determina qual registro exibir. Em um aplicativo gerado, exibe o registro que o usuário selecionou na galeria. Defina a propriedade Item desse controle como este valor:
BrowseGallery1.Selected
Controles Cartão Em um controle Exibir formulário, exibe um único campo em um registro. Defina a propriedade DataField com o nome de um campo, entre aspas duplas (por exemplo, "Nome").
ImageBackArrow1 Quando o usuário seleciona esse controle, BrowseTela1 é aberto. Defina a propriedade OnSelect como esta fórmula:
Back()
ImageDelete1 Quando o usuário seleciona esse controle, ele exclui um registro. Defina a propriedade OnSelect como esta fórmula:
Remove( Assets, BrowseGallery1.Selected )
ImageEdit1 Quando o usuário seleciona esse controle, abre a tela Editar e Criar para o registro atual. Defina a propriedade OnSelect como esta fórmula:
Navigate( EditScreen1, None )

Na parte superior da tela, três imagens ficam fora de DetailForm1 e atuam como botões, orquestrando entre as três telas do aplicativo.

DetailForm1 domina esta tela e exibe o registro que o usuário selecionou na galeria (porque a propriedade Item do formulário está definida como BrowseGallery1.Selected). A propriedade DataSource do formulário também fornece metadados sobre a fonte de dados, como um nome de exibição amigável para cada campo.

DetailForm1 contém vários controles Cartão. Você pode selecionar o próprio controle Cartão ou o controle que ele contém para descobrir informações adicionais.

Cartão de detalhes e controles Cartão selecionados na experiência de criação.

A propriedade DataField de um controle Cartão determina qual campo o cartão exibe. Nesse caso, essa propriedade é definida como AssetID. O cartão contém um controle Rótulo para o qual a propriedade Text está definida como Parent.Default. Esse controle mostra o valor Padrão para o cartão, que é definido por meio da propriedade DataField.

Em um aplicativo gerado, os controles Cartão estão bloqueados por padrão. Quando um cartão estiver bloqueado, você não poderá modificar algumas propriedades, como DataField, e a barra da fórmula não estará disponível para essas propriedades. Essa restrição ajuda a garantir que suas personalizações não interrompam a funcionalidade básica do aplicativo gerado. No entanto, você pode alterar algumas propriedades de um cartão e seus controles no painel direito:

Tela de detalhes com o painel de opções aberto.

No painel à direita, você pode selecionar quais campos exibir e qual tipo de controle exibe cada campo.

Tela Editar/Criar

Controles da tela Editar.

Essa tela apresenta estas fórmulas principais:

Control Comportamento com suporte Fórmula
EditForm1 Exibe um registro na fonte de dados Assets. Defina a propriedade DataSource como Assets.
EditForm1 Determina qual registro exibir. Em um aplicativo gerado, exibe o registro que o usuário selecionou em BrowseScreen1. Defina a propriedade Item com este valor:
BrowseGallery1.Selected
Controles Cartão Em um controle Editar formulário, fornece controles para que o usuário possa editar um ou mais campos em um registro. Defina a propriedade DataField com o nome de um campo, entre aspas duplas (por exemplo, "Nome").
ImageCancel1 Quando o usuário seleciona esse controle, descarta todas as alterações em andamento e abre a tela Detalhes. Defina a propriedade OnSelect como esta fórmula:
ResetForm( EditForm1 ); Back()
ImageAccept1 Quando o usuário seleciona esse controle, envia as alterações para a fonte de dados. Defina a propriedade OnSelect como esta fórmula:
SubmitForm( EditForm1 )
EditForm1 Se alterações forem aceitas, retornará para a tela anterior. Defina a propriedade OnSuccess como esta fórmula:
Back()
EditForm1 Se as alterações não forem aceitas, permanecerá na tela atual para que o usuário possa corrigir todos os problemas e tentar enviar novamente. Deixe a propriedade OnFailure em branco.
LblFormError1 Se as alterações não forem aceitas, mostrará uma mensagem de erro. Defina a propriedade Text com este valor:
EditForm1.Error

Como na tela Detalhes, um controle de formulário, denominado EditForm1, domina a tela Editar e Criar. Além disso, a propriedade Item de EditForm1 é definida como BrowseGallery1.Selected, portanto o formulário exibe o registro que o usuário selecionou em BrowseTela1. Enquanto a tela Detalhes mostra cada campo como somente leitura, o usuário pode atualizar o valor de um ou mais campos usando os controles em EditForm1. Ele também usa a propriedade DataSource para acessar metadados sobre essa fonte de dados, como o nome de exibição amigável para cada campo e o local em que as alterações devem ser salvas.

Se o usuário selecionar o ícone "X" para cancelar uma atualização, a função ResetForm descartará as alterações não salvas e a função Back abrirá a tela Detalhes. A tela Detalhes e a tela Editar e Criar mostrarão o mesmo registro até que o usuário selecione um diferente em BrowseScreen1. Os campos desse registro permanecem definidos como os valores que foram salvos mais recentemente, não as alterações que o usuário fizeram e, em seguida, abandonaram.

Se o usuário alterar um ou mais valores no formulário e, em seguida, selecionar o ícone de "marca de seleção", a função SubmitForm enviará as alterações do usuário para a fonte de dados.

  • Se as alterações forem salvas com êxito, a fórmula OnSuccess do formulário será executada e a função Back() abrirá a tela de detalhes para mostrar o registro atualizado.
  • Se as alterações não forem salvas com êxito, a fórmula OnFailure do formulário será executada, mas ela não alterará nada porque estará em branco. A tela Editar e Criar permanece aberta para que o usuário possa cancelar as alterações ou corrigir o erro. LblFormError1 exibe uma mensagem de erro amigável, para qual a propriedade Error do formulário é definida.

Assim como acontece com o controle Exibir formulário, um controle Editar formulário contém controles Cartão que têm outros controles que mostram diferentes campos em um registro:

Editar cartão e controles de cartão selecionados na experiência de criação.

Na imagem anterior, o cartão selecionado exibe o campo AssetID e contém um controle Entrada de texto para que o usuário possa editar o valor do campo. (Por outro lado, a tela de detalhes mostra o mesmo campo em um controle Rótulo, que é somente leitura). O controle Entrada de texto tem uma propriedade Default, definida como Parent.Default. Se o usuário estivesse criando um registro em vez de editar um, esse controle exibiria um valor inicial que o usuário pode alterar para o novo registro.

No painel à direita, é possível mostrar ou ocultar cada cartão, reorganizá-las ou configurá-las para mostrar campos em diferentes tipos de controles.

Editar telas com o painel de opções aberto.

Criar um aplicativo do zero

A compreender como o Power Apps gera um aplicativo, você pode criar um por conta própria que usa os mesmos blocos e fórmulas de construção discutidos anteriormente neste tópico.

Identificar dados de teste

Para obter o máximo deste tópico, comece com uma fonte de dados com a qual você pode experimentar. Ela deve conter dados de teste que possam ser lidos e atualizados sem problemas.

Observação

Se você usar uma lista criada usando as Listas da Microsoft, uma biblioteca do SharePoint ou uma tabela do Excel que contenha nomes de colunas com espaços como sua fonte de dados, o Power Apps substituirá os espaços por "_x0020_". Por exemplo, "Column Name" no SharePoint ou no Excel aparecerá como "Column_x0020_Name" no Power Apps quando exibido no layout de dados ou usado em uma fórmula.

Para seguir exatamente o restante deste tópico, crie uma lista denominada "Ice Cream" que contenha estes dados:

Lista Ice Cream.

  • Crie um aplicativo do zero para telefones e conecte-o à fonte de dados.

    Observação

    Os aplicativos para tablet são muito semelhantes, mas pode ser mais útil um layout de tela diferente para aproveitar ao máximo o espaço de tela adicional.

    Os exemplos no restante do tópico são baseados em uma fonte de dados chamada Ice Cream.

Procurar registros

Receba informações rapidamente de um registro localizando-as em uma galeria em uma tela de navegação.

  1. Adicione uma galeria Vertical e altere o layout para somente Título.

    Adicionar galeria vertical.

  2. Defina a propriedade Items da galeria como Ice Cream.

  3. Defina a propriedade Text do primeiro rótulo na galeria como ThisItem.Title se ela estiver definida como algo diferente.

    Agora, o rótulo mostrará o valor no campo Título para cada registro.

    Rótulo atualizado.

  4. Redimensione a galeria para preencher a tela e defina sua propriedade TemplateSize como 60.

    A tela é semelhante a este exemplo, que mostra todos os registros na fonte de dados:

    Galeria conectada à fonte de dados Ice Cream.

Exibir detalhes

Se a galeria não exibir as informações que deseja, selecione a seta de um registro para abrir a tela de detalhes. O controle Exibir formulário nessa tela mostra mais, possivelmente todos, campos do registro que você selecionou.

O controle Exibir formulário usa duas propriedades para exibir o registro:

  • Propriedade DataSource. O nome da fonte de dados que contém o registro. Essa propriedade preenche o painel direito com os campos e determina o nome de exibição e tipo de dados (cadeia de caracteres, número, data etc.) de cada campo.
  • Propriedade Item. O registro a ser exibido. Essa propriedade geralmente está conectada à propriedade Selected do controle Galeria, de forma que o usuário possa selecionar um registro no controle Galeria e fazer análises nesse registro.

Quando a propriedade DataSource estiver definida, será possível adicionar e remover campos do painel direito e alterar como eles são exibidos.

Nessa tela, os usuários não podem alterar intencional ou acidentalmente nenhum valor do registro. O controle Exibir formulário é um controle somente leitura, portanto não modificará nenhum registro.

Para adicionar um controle Exibir formulário:

  1. Adicione uma tela e, em seguida, adicione um controle Exibir formulário a ela
  2. Defina a propriedade DataSource do controle de formulários como 'Ice Cream'.

No painel à direita, selecione os campos a serem exibidos na tela e qual tipo de cartão deve ser exibido para cada campo. Conforme você faz alterações no painel à direita, a propriedade DataField em cada controle Cartão será definida como o campo com o qual o usuário interagirá. Sua tela deve ser semelhante a este exemplo:

Nova tela de Ice cream.

Finalmente, precisamos conectar o controle Exibir formulário ao controle Galeria de forma que possamos ver detalhes de um registro específico. Assim que concluirmos a configuração da propriedade Item, o primeiro registro da galeria aparecerá em nosso formulário.

  • Defina a propriedade Item do controle Exibir formulário como Gallery1.Selected.

    Os detalhes do item selecionado aparecem no formulário.

    Exibir formulário para a fonte de dados Ice Cream, conectado ao controle Galeria.

Excelente! Agora, vamos para a navegação: como um usuário abre a tela de detalhes na tela da galeria e abre a tela de galeria na tela de detalhes.

  • Adicione um controle Botão à tela, defina sua propriedade Text para mostrar Back e defina sua propriedade OnSelect como Back().

    Esta fórmula retorna o usuário de volta à galeria quando terminar de exibir os detalhes.

    Exibir formulário para a fonte de dados Ice Cream com o botão Voltar.

Agora, vamos retornar para o controle Galeria e adicionar uma navegação à nossa tela de detalhes.

  1. Mude para a primeira tela, que está hospedando o controle Galeria e selecione a seta no primeiro item da galeria.

  2. Defina a propriedade OnSelect da forma como esta fórmula:
    Navigate( Screen2, None )

    Exibir formulário para a fonte de dados Ice Cream com o botão Voltar com a atualização de navegação.

  3. Pressione F5 e, em seguida, selecione uma seta na galeria para exibir os detalhes de um item.

  4. Selecione o botão Back para retornar para a galeria de produtos e, em seguida, pressione Esc.

Como editar detalhes

Por fim, nossa última atividade principal será alterar o conteúdo de um registro, o que os usuários realizam em um controle Editar formulário.

O controle Editar formulário usa duas propriedades para exibir e editar o registro:

  • Propriedade DataSource. O nome da fonte de dados que contém o registro. Assim como ocorre com o controle Exibir formulário, essa propriedade preenche o painel direito com os campos e determina o nome de exibição e tipo de dados (cadeia de caracteres, número, data etc.) de cada campo. Essa propriedade também determina se o valor de cada campo é válido antes de enviá-lo à fonte de dados subjacente.
  • Propriedade Item. O registro para editar, que geralmente está conectado à propriedade Selected do controle Galeria. Dessa forma, você pode selecionar um registro no controle Galeria, exibi-lo na tela de detalhes e editá-lo na tela Editar e Criar.

Para adicionar um controle Editar formulário:

  1. Adicione uma tela, adicione um controle Editar formulário e, em seguida, defina a propriedade DataSource do formulário como “Ice Cream”.
  2. Defina a propriedade Item como Gallery1.Selected.

Agora, você pode selecionar os campos a serem exibidos na tela. Você também pode selecionar qual tipo de cartão deve ser exibido para cada campo. À medida que você faz alterações no painel à direita, a propriedade DataField em cada controle Cartão é definida como o campo com o qual o usuário interagirá. Sua tela deve ser semelhante a este exemplo:

Exibir formulário para a fonte de dados Ice Cream.

Essas duas propriedades são iguais às propriedades no controle Exibir formulário. E, apenas com elas, podemos exibir os detalhes de um registro.

O controle Editar formulário vai mais além, oferecendo a função SubmitForm para gravar também as alterações na fonte de dados. Use isso com um controle Botão ou Imagem para salvar as alterações do usuário.

  • Adicione um controle Botão, defina a propriedade Text para mostrar Salvar e defina a propriedade OnSelect como esta fórmula:
    SubmitForm( Form1 )

Editar formulário para a fonte de dados Ice Cream.

Para adicionar uma navegação de e para esta tela:

  1. Adicione outro controle Botão, defina sua propriedade Text para exibir Cancelar e defina sua propriedade OnSelect como esta fórmula:
    ResetForm( Form1 ); Back()

    Essa fórmula descarta todas as edições não salvas e abre a tela anterior.

    Tela atualizada.

  2. Defina a propriedade OnSuccess do formulário como Back().

    Quando as atualizações forem salvas com êxito, a tela anterior (nesse caso, a tela de detalhes) será aberta automaticamente.

    Editar formulário com a regra "OnSuccess"

  3. Na tela Exibir, adicione um botão, defina sua propriedade Text para exibir Editar e defina sua propriedade OnSelect como esta fórmula:
    Navigate( Screen3, None )

    Propriedade de texto atualizada.

Você criou um aplicativo básico com três telas para exibir e inserir dados. Para testar, exiba a tela de galeria e, em seguida, pressione F5 (ou selecione o botão "Visualizar" de seta para frente próximo ao canto superior esquerdo da tela). O ponto rosa indica onde o usuário clica ou toca a tela em cada etapa.

Testar o aplicativo Ice Cream.

Criar um registro

O usuário interage com o mesmo formulário Editar para atualizar e criar registros. Quando o usuário desejar criar um registro, a função NewForm alternará o formulário para o modo Novo.

Quando o formulário estiver no modo Novo, o valor de cada campo é definido com as configurações padrão da fonte de dados. O registro que é fornecido para a propriedade Item do formulário será ignorado.

Quando o usuário estiver pronto para salvar o novo registro, SubmitForm será executado. Depois que o formulário for enviado com êxito, ele será revertido de volta para EditMode.

Na primeira tela, você adicionará um botão Novo:

  1. Na tela com a galeria, adicione um controle Botão.

  2. Defina a propriedade Text do botão como Novo e sua propriedade OnSelect como esta fórmula:
    NewForm( Form1 ); Navigate( Screen3, None )

    Essa fórmula alterna o controle Editar formulário em Screen3 para o modo Novo e abre essa tela para que o usuário possa preenchê-la.

Formulário de edição atualizado.

Quando a tela Editar e Criar é aberta, o formulário está vazio, pronto para o usuário adicionar um item. Quando o usuário seleciona o botão Salvar, a função SubmitForm garante que um registro seja criado em vez de ser atualizado. Se o usuário seleciona o botão Cancelar, a função ResetForm alterna o formulário de volta para o modo Editar e a função Back abre a tela para procurar a galeria.

Excluir um registro

  1. Na tela Exibir, adicione um botão e defina sua propriedade Text para exibir Excluir.

  2. Defina a propriedade OnSelect do botão como esta fórmula:
    Remove( 'Ice Cream', Gallery1.Selected ); Back()

    Remover um registro.

Como gerenciar erros

Nesse aplicativo, um erro ocorre quando o valor de um campo for inválido, um campo obrigatório estiver em branco, você estiver desconectado da rede, ou qualquer quantidade de outros problemas aparecer.

Se SubmitForm falhar por qualquer motivo, a propriedade Error do controle Editar formulário conterá uma mensagem de erro a ser exibida ao usuário. Com essas informações, o usuário deve poder corrigir o problema e reenviar a alteração, ou cancelar a atualização.

  1. Na tela Editar e Criar, adicione um controle Rótulo e mova-o para logo abaixo do botão Salvar. Qualquer erro será facilmente visto após o usuário selecionar esse controle para salvar as alterações.

  2. Defina a propriedade Text do controle Rótulo para mostrar Form1.Error.

    Exibir o formulário com o botão "Editar" adicionado

Em um aplicativo que o Power Apps gera dos dados, a propriedade AutoHeight nesse controle é definida como true para que nenhum espaço seja consumido se nenhum erro ocorrer. As propriedades Height e Y do controle Editar formulário também são dinamicamente ajustadas para compensar esse crescimento do controle quando um erro ocorrer. Para obter mais detalhes, gere um aplicativo com base nos dados existentes e inspecione essas propriedades. O controle de caixa de texto para erros é muito curto quando nenhum erro tiver ocorrido, talvez, você precise abrir a exibição Avançado (disponível na guia Exibir) para selecionar esse controle.

Formulário de edição de aplicativo de dados com o controle de texto de erro selecionado.

Formulário de edição de aplicativo de dados com o controle selecionado.

Atualizar dados

A fonte de dados é atualizada sempre que o usuário abrir o aplicativo, mas o usuário pode querer atualizar os registros na galeria sem fechar o aplicativo. Adicione um botão Atualizar para que o usuário possa selecioná-lo para atualizar os dados manualmente:

  1. Na tela com o controle Galeria, adicione um controle Botão e defina sua propriedade Text para mostrar Atualizar.

  2. Defina a propriedade OnSelect desse controle como esta fórmula:
    Refresh( 'Ice Cream' )

    Atualizar a fonte de dados.

No aplicativo que o Power Apps gerou com base nos dados, não discutimos dois controles na parte superior da tela Procurar. Ao usar esses controles, o usuário poderá pesquisar um ou mais registros, classificar a lista de registros em ordem crescente ou decrescente ou ambas.

Classificação e pesquisa de controles na tela Procurar.

Quando o usuário seleciona o botão de classificação, inverte a ordem de classificação da galeria. Para criar esse comportamento, usamos uma variável de contexto para controlar a direção na qual a galeria é classificada. Quando o usuário seleciona o botão, a variável é atualizada e a direção é invertida. A propriedade OnSelect do botão de classificação é definida como esta fórmula: UpdateContext( {SortDescending1: !SortDescending1} )

A função UpdateContext criará a variável de contexto SortDescending1 se ela ainda não existir. A função lê o valor da variável e a define como a lógica oposta usando o operador ! operador. Se o valor for true, ele se tornará false. Se o valor for false, ele se tornará true.

A fórmula para a propriedade Items do controle Galeria usa essa variável de contexto, juntamente com o texto no controle TextSearchBox1:

Sort( 
    If( IsBlank(TextSearchBox1.Text),
        Assets,
        Filter( Assets, TextSearchBox1.Text in Text(ApproverEmail) ) 
    ),
    ApproverEmail,
    If(SortDescending1, Descending, Ascending) 
)

Vamos dividir isso:

  • No lado de fora, temos a função Sort, que usa três argumentos: uma tabela, um campo com o qual classificar e a direção de classificação.

    • A direção de classificação é executada com base na variável de contexto que alterna quando o usuário seleciona o controle ImageSortUpDown1. O valor true/false é convertido para as constantes Descending e Ascending.
    • O campo para a classificação é fixo para ApproverEmail. Se você alterar os campos que aparecem na galeria, será necessário alterar este argumento também.
  • No interior, temos a função Filter, que usa uma tabela como um argumento e uma expressão a ser avaliada para cada registro.

    • A tabela é a fonte de dados Assets bruta, que é o ponto de partida antes da filtragem ou classificação.
    • A expressão pesquisa por uma instância da cadeia de caracteres em TextSearchBox1 no campo ApproverEmail. Novamente, se você alterar os campos que aparecem na galeria, será necessário atualizar este argumento.
    • Se TextSearchBox1 estiver vazio, o usuário desejará mostrar todos os registros e a função Filter será ignorada.

Este é apenas um exemplo; você pode criar sua própria fórmula para a propriedade Items, dependendo das necessidades do seu aplicativo, compondo as funções Filter, Sort e outras funções e operadores juntos.

Design da tela

Até agora, ainda não discutimos outras maneiras de distribuir controles nas telas. Isso é porque você tem várias opções e a melhor seleção depende das necessidades específicas do seu aplicativo.

Como imóveis em telas de telefone são tão limitados, você provavelmente desejará procurar, exibir e editar/criar em telas diferentes. Neste tópico, as funções Navigate e Back abrem cada tela.

Em um tablet, você pode procurar, exibir e editar/criar duas ou até mesmo uma tela. Para o último caso, nenhuma função Navigate ou Back é necessária.

Se o usuário estiver trabalhando na mesma tela, será preciso ser cuidadoso para que o usuário não altere a seleção na Galeria e possivelmente perca edições no controle Editar formulário. Para evitar que o usuário selecione um registro diferente quando as alterações em outro registro ainda não tiverem sido salvas, defina a propriedade Disabled da galeria como esta fórmula:
EditForm.Unsaved

Observação

Você pode nos falar mais sobre suas preferências de idioma para documentação? Faça uma pesquisa rápida. (Observe que esta pesquisa está em inglês)

A pesquisa levará cerca de sete minutos. Nenhum dado pessoal é coletado (política de privacidade).