Adicione três tipos de controles 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:

Procure, exiba e edite 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 PowerApps 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 de maneira “predefinida”, 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

Controles da tela de navegação

Essa tela apresenta essas fórmulas principais:

Controle Comportamento com suporte Fórmula
BrowseGallery1 Exiba registros da fonte de dados de Ativos. A propriedade Itens da galeria é definida como uma fórmula que se baseia na fonte de dados de Ativos.
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 para 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 para esta fórmula:
Navigate( DetailScreen1, None )

O controle principal nessa tela, BrowseGallery1, aborda a maioria 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 Itens de uma galeria para exibir os registros de uma fonte de dados nele. Por exemplo, defina essa propriedade como Ativos para mostrar os registros de uma fonte de dados desse nome.

Observação: em um aplicativo gerado, Itens é 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 de Imagem, mostrando um símbolo "+" nele e definindo sua propriedade OnSelect para esta fórmula:
NewForm( EditForm1 ); Navigate( EditScreen1, None )

Esta 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 de Texto do controle é definida como ThisItem.AssignedTo, que é um campo na fonte de dados de Ativos. 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 de 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 Selecionado 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 de detalhes

Controles da tela de detalhes

Essa tela apresenta essas fórmulas principais:

Controle Comportamento com suporte Fórmula
DetailForm1 Exibe um registro na fonte de dados de Ativos Defina a propriedade DataSource como Ativos.
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 de 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, BrowseScreen1 é 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 de Cartão. Você pode selecionar o próprio controle de Cartão ou o controle que ele contém para descobrir informações adicionais.

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

A propriedade DataField de um controle de 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 de Cartão estão bloqueados por padrão. Quando um cartão estiver bloqueada, você não poderá modificar algumas propriedades, como DataField e a barra da fórmula não está 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 essas fórmulas principais:

Controle Comportamento com suporte Fórmula
EditForm1 Exibe um registro na fonte de dados de Ativos. Defina a propriedade DataSource como Ativos.
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 de 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 de Texto com este valor:
EditForm1.Error

Como na tela de 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 BrowseScreen1. 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 Voltar abrirá a tela Detalhes. A tela Detalhes e a tela Editar e criar mostram 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 Erro do formulário é definida.

Assim como acontece com o controle Exibir de, um controle Editar de contém controles de 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 de 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 de Entrada de texto tem uma propriedade Default, que é 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 PowerApps 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. Para seguir exatamente o restante deste tópico, crie uma lista do SharePoint denominada "Ice Cream" que contenha estes dados:

Lista do SharePoint Ice Cream

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

    Observação: 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 um controle de Galeria de texto na orientação Vertical e defina sua propriedade Itens como Ice Cream.

    Galeria conectada à fonte de dados Ice Cream

    Por padrão, a galeria mostra os três primeiros campos para essa fonte de dados que não são os mais úteis. Em seguida, você configurará a galeria para exibir exatamente os dados desejados.

  2. Defina a propriedade de Texto do primeiro controle de texto na galeria como ThisItem.Title.

    Em vez de mostrar a data/hora em que cada registro foi criado, o rótulo mostra o valor no campo Title de cada registro.

  3. Remova os outros dois rótulos da galeria, redimensione-a 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

Ver 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, os 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 Selecionado 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, é 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 propriedade 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:

Exibir formulário para a fonte de dados 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.

  1. 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 da galeria

Ótimo! 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.

  1. Adicione um controle de Botão à tela, defina sua propriedade de Texto para mostrar Voltar 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 adicione uma navegação à nossa tela de detalhes.

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

  2. Na guia Inserir, selecione Formas e, em seguida, selecione a seta para a direita.

  3. Mova e redimensione a seta conforme adequado para o lado direito da galeria.

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

  1. Pressione F5, selecione uma seta na galeria para exibir os detalhes de um item.

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

Editando detalhes

Por fim, nossa última atividade principal é 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 de botão ou imagem para salvar as alterações do usuário.

  • Adicione um controle de Botão, defina sua propriedade Texto para exibir Salvar e defina sua propriedade OnSelect com 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 de Botão, defina sua propriedade de Texto 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.

    Exibir formulário para a fonte de dados Ice Cream

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

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

    Editar formulário com a regra "OnSuccess"

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

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

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 alterna 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 é 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 de Botão.

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

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

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

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 de Texto para exibir Excluir.

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

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

Gerenciando erros

Neste 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 Erro 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 PowerApps gera dos dados, a propriedade AutoHeight neste controle é definida como true para que nenhum espaço seja consumido se nenhum erro ocorrer. As propriedades Altura 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 Exibição) 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 de Botão e defina sua propriedade de Texto para mostrar Atualizar.

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

Atualizar a fonte de dados

Pesquisar e classificar a galeria

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

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 AtualizarContexto 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 ! . Se o valor for true, ele se tornará false. Se o valor for false, ele se tornará true.

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

Gallery1.Items = 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 Classificar, 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 Decrescente e Crescente.
    • 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 Filtrar, que usa uma tabela como um argumento e uma expressão a ser avaliada para cada registro.

    • A tabela é a fonte de dados de Ativos 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 Filtrar será ignorada.

Este é apenas um exemplo; você pode criar sua própria fórmula para a propriedade Itens, dependendo das necessidades do seu aplicativo, compondo as funções Filtrar, Classificar 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 Navegar e Voltar abrem cada um uma tela.

Em um tablet, você pode procurar, exibir e editar/criar duas ou até mesmo uma tela. Para o último caso, nenhuma função Navegar ou Voltar é 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 Desabilitado da galeria como esta fórmula:
EditForm.Unsaved