Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Exibir, editar e criar um registro em uma fonte de dados.
Description
Se você adicionar um controle de formulário de exibição , o usuário poderá exibir todos os campos de um registro ou apenas os campos especificados. Se você adicionar um controle editar formulário , o usuário poderá editar esses campos, criar um registro e salvar essas alterações em uma fonte de dados.
Se você adicionar um controle da Galeria , poderá configurá-lo para mostrar uma tabela em uma fonte de dados e, em seguida, configurar um formulário para mostrar qualquer registro selecionado pelo usuário na galeria. Você também pode adicionar um ou mais controles de botão que o usuário pode selecionar para salvar edições, cancelar edições e criar um registro. Usando controles juntos, você pode criar uma solução completa.
Limitações
O controle de formulário tem estas limitações:
- Você não pode copiar e colar formulários em cartões de dados. Isso é para impedir que determinadas combinações de controles sejam criadas que arriscam a estabilidade e o desempenho do aplicativo.
Seleção de registro
Para qualquer tipo de formulário, defina sua propriedade DataSource como uma tabela de registros e defina a propriedade Item do formulário para mostrar um registro específico nessa tabela. Por exemplo, você pode definir a propriedade Item de um formulário para a propriedade SelectedItem de um controle da Galeria . Quando o usuário seleciona um registro na galeria, o mesmo registro aparece no formulário, exceto que o formulário pode mostrar mais campos. Se o usuário retornar à galeria e selecionar um registro diferente, a propriedade SelectedItem da galeria será alterada. Essa alteração atualiza a propriedade Item do formulário, que mostra o registro recém-selecionado.
Você também pode definir a propriedade Item de um formulário usando um controle Suspenso , como Mostrar, editar ou adicionar um registro descrito ou uma função como Pesquisa ou Primeiro. Por exemplo, você pode definir a propriedade Item para qualquer uma dessas fórmulas para mostrar a entrada fabrikam na tabela Contas no Microsoft Dataverse:
First(Accounts)
Lookup(Accounts, "Fabrikam" in name)
Cada controle de formulário contém um ou mais controles de cartão . Ao definir a propriedade DataField de um cartão, especifique qual campo esse cartão mostra e outros detalhes.
Criar um registro
Quando um controle Editar formulário estiver no modo Editar , o usuário poderá atualizar o registro especificado na propriedade Item do formulário. Se inspecionada, a propriedade Moderetornará Editar.
No entanto, quando um controle editar formulário estiver no modo Novo , a propriedade Item será ignorada. O formulário não mostra um registro existente; Em vez disso, os valores em cada campo correspondem aos valores padrão da fonte de dados com a qual você configurou o formulário. A função NewForm faz com que um formulário mude para esse modo.
Por exemplo, você pode definir a propriedade Text de um botão para mostrar Nova e sua propriedade OnSelect para uma fórmula que inclui a função NewForm . Se o usuário selecionar esse botão, o formulário mudará para o modo Novo para que o usuário possa criar um registro começando com valores conhecidos.
Um formulário alterna de volta para o modo Editar se a função ResetForm for executada ou a função SubmitForm for executada com êxito.
- Você pode definir a propriedade Text de um botão para mostrar Cancel e sua propriedade OnSelect como uma fórmula que inclui a função ResetForm . Se o usuário selecionar esse botão, todas as alterações em andamento serão descartadas e os valores no formulário, mais uma vez, corresponderão aos valores padrão da fonte de dados.
- Você pode definir a propriedade Text de um botão para mostrar Salvar alterações e sua propriedade OnSelect para uma fórmula que inclui a função SubmitForm . Se o usuário selecionar esse botão e a fonte de dados for atualizada, os valores no formulário serão redefinidos para os valores padrão da fonte de dados.
Salvar alterações
Se você criar um botão Salvar alterações como a seção anterior descreve, o usuário poderá criar ou atualizar um registro e, em seguida, selecionar esse botão para salvar essas alterações na fonte de dados. Em vez disso, você pode configurar um controle image ou algum outro controle para executar a mesma tarefa, desde que configure esse controle com a função SubmitForm . De qualquer forma, as propriedades Error, ErrorKind, OnSuccess e OnFailure fornecem comentários sobre o resultado.
Quando a função SubmitForm é executada, ela primeiro valida os dados que o usuário deseja enviar. Se um campo necessário não contiver um valor ou outro valor não estiver em conformidade com alguma outra restrição, as propriedades ErrorKind serão definidas e a fórmula OnFailure será executada. Você pode configurar o botão Salvar alterações ou outro controle para que o usuário possa selecioná-lo somente se os dados forem válidos (ou seja, se a propriedade Valid do formulário for verdadeira). Observe que o usuário não deve apenas corrigir o problema, mas também selecionar o botão Salvar alterações novamente (ou descartar as alterações selecionando um botão Cancelar , conforme descrito anteriormente) para redefinir as propriedades Error e ErrorKind .
Se os dados passarem pela validação, o SubmitForm os enviará para a fonte de dados, o que pode levar algum tempo dependendo da latência de rede.
- Se o envio for bem-sucedido, a propriedade Error será desmarcada, a propriedade ErrorKind será definida como ErrorKind.None e a fórmula OnSuccess será executada. Se o usuário criou um registro (ou seja, se o formulário estava anteriormente no modo Novo ), o formulário é alternado para o modo Editar para que o usuário possa editar o registro recém-criado ou outro.
- Se o envio falhar, a propriedade Error conterá uma mensagem de erro amigável da fonte de dados, explicando o problema. A propriedade ErrorKind é definida adequadamente, dependendo do problema, e a fórmula OnFailure é executada.
Algumas fontes de dados podem detectar quando duas pessoas tentam atualizar o mesmo registro ao mesmo tempo Nesse caso, ErrorKind é definido como ErrorKind.Conflict e o remédio é atualizar a fonte de dados com as alterações do outro usuário e reaplicar a alteração feita por esse usuário.
Dica
Se você oferecer um botão Cancelar em seu formulário para que o usuário possa abandonar as alterações em andamento, adicione a função ResetForm à propriedade OnSelect do botão, mesmo que essa propriedade também contenha uma função Navigate para alterar as telas. Caso contrário, o formulário manterá as alterações do usuário.
Layout
Por padrão, os cartões são colocados em uma única coluna para aplicativos de telefone e três colunas para aplicativos tablet. Você pode especificar quantas colunas um formulário tem e se os cartões devem ser encaixados neles conforme você configura o formulário. Essas configurações não são expostas como propriedades porque são usadas apenas para definir as propriedades X, Y e Width dos cartões.
Para obter mais informações, consulte Entender o layout do formulário de dados.
Principais propriedades
DataSource – A fonte de dados que contém o registro que o usuário mostrará, editará ou criará.
- Se você não definir essa propriedade, o usuário não poderá mostrar, editar ou criar um registro e nenhum metadados ou validação adicional será fornecido.
DefaultMode – O modo inicial do controle de formulário. Consulte a descrição do Modo abaixo para obter os valores aceitáveis e seus significados.
DisplayMode – O modo a ser usado para cartões de dados e controles dentro do controle de formulário.
Derivada da propriedade Mode baseada e não pode ser definida de forma independente:
| Mode | DisplayMode | Description |
|---|---|---|
| FormMode.Edit | DisplayMode.Edit | Cartões de dados e controles são editáveis, prontos para aceitar alterações em um registro. |
| FormMode.New | DisplayMode.Edit | Cartões de dados e controles são editáveis, prontos para aceitar um novo registro. |
| FormMode.View | DisplayMode.View | Cartões de dados e controles não são editáveis e otimizados para exibição. |
Erro – uma mensagem de erro amigável a ser exibida para esse formulário quando a função SubmitForm falhar.
- Essa propriedade se aplica somente ao controle Editar formulário .
- Essa propriedade é alterada somente quando a função SubmitForm, EditForm ou ResetForm é executada.
- Se nenhum erro ocorrer, essa propriedade estará em branco e ErrorKind será definido como ErrorKind.None.
- Quando possível, a mensagem de erro retornada estará no idioma do usuário. Algumas mensagens de erro vêm diretamente da fonte de dados e podem não estar no idioma do usuário.
ErrorKind – se ocorrer um erro quando o SubmitForm for executado, o tipo de erro que ocorreu.
- Aplica-se somente a um controle editar formulário .
- Essa propriedade tem a mesma enumeração que a função Errors . Um controle editar formulário pode retornar estes valores:
| ErrorKind | Description |
|---|---|
| ErrorKind.Conflito | Outro usuário alterou o mesmo registro, resultando em um conflito de alterações. Execute a função Atualizar para recarregar o registro e tente a alteração novamente. |
| ErrorKind.None | O erro é de um tipo desconhecido. |
| ErrorKind.Sync | A fonte de dados relatou um erro. Verifique a propriedade Error para obter mais informações. |
| ErrorKind.Validation | Um problema geral de validação foi detectado. |
Item – O registro no DataSource que o usuário mostrará ou editará.
LastSubmit – o último registro enviado com êxito, incluindo todos os campos gerados pelo servidor.
- Essa propriedade se aplica somente ao controle Editar formulário .
- Se a fonte de dados gerar ou calcular automaticamente quaisquer campos, como um campo de ID com um número exclusivo, a propriedade LastSubmit terá esse novo valor depois que SubmitForm for executado com êxito.
- O valor dessa propriedade está disponível na fórmula OnSuccess .
Modo – O controle está no modo Editar ou Novo .
| Mode | Description |
|---|---|
| FormMode.Edit | O usuário pode editar um registro usando o formulário. Os valores nos cartões do formulário são preenchidos previamente com o registro existente, para que o usuário altere. Se a função SubmitForm for executada com êxito, um registro existente será modificado. |
| FormMode.New | O usuário pode criar um registro usando o formulário. Os valores nos controles do formulário são preenchidos previamente com os padrões para um registro da fonte de dados. Se a função SubmitForm for executada com êxito, um registro será criado. |
| FormMode.View | O usuário pode exibir um registro usando o formulário. Os valores nos controles do formulário são preenchidos previamente com os padrões para um registro da fonte de dados. |
O formulário alterna do novo modo para o modo Editar quando qualquer uma dessas alterações ocorre:
- O formulário é enviado com êxito e um registro é criado. Se a galeria estiver definida para mover automaticamente a seleção para esse novo registro, o formulário estará no modo Editar para o registro criado para que o usuário possa fazer alterações adicionais.
- A função EditForm é executada.
- A função ResetForm é executada. Por exemplo, o usuário pode selecionar um botão Cancelar que foi configurado com essa função.
OnFailure – Ações a serem executadas quando uma operação de dados não tiver sido bem-sucedida.
- Essa propriedade se aplica somente ao controle Editar formulário .
OnReset – Ações a serem executadas quando um controle Editar formulário for redefinido.
- Essa propriedade se aplica somente ao controle Editar formulário .
OnSuccess – Ações a serem executadas quando uma operação de dados tiver sido bem-sucedida.
- Essa propriedade se aplica somente ao controle Editar formulário .
Não salvo – True se o controle Editar formulário contiver alterações de usuário que não foram salvas.
- Essa propriedade se aplica somente ao controle Editar formulário .
- Use essa propriedade para avisar o usuário antes que ele perca as alterações não salvas. Para impedir que o usuário selecione um registro diferente em um controle da Galeria antes de salvar as alterações no registro atual, defina a propriedade Disabled da galeria como Form.Unsaved e, da mesma forma, desabilite as operações de atualização.
Atualizações – os valores a serem gravados novamente na fonte de dados de um registro carregado em um controle de formulário.
- Essa propriedade se aplica somente ao controle Editar formulário .
- Use essa propriedade para extrair os valores de campo dos cartões dentro do controle. Em seguida, você pode usar esses valores para atualizar manualmente a fonte de dados com uma chamada de função patch ou outro método exposto por uma conexão. Você não precisará usar essa propriedade se estiver usando a função SubmitForm .
- Essa propriedade retorna um registro de valores. Por exemplo, se o controle de formulário contiver controles de cartão para campos Nome e Quantidade e os valores das propriedades de Atualização para esses cartões retornarem "Widget" e 10, respectivamente, a propriedade Updates para o controle de formulário retornará { Nome: "Widget", Quantidade: 10 }.
Válido – se um controle de formulário de cartão ou de edição contém entradas válidas, prontos para serem enviados à fonte de dados.
Essa propriedade se aplica somente ao controle Editar formulário .
A propriedade Valid de um controle De formulário agrega as propriedades Válidas de todos os controles De cartão no formulário. A propriedade Valid de um formulário será verdadeira somente se os dados em todos os cartões nesse formulário forem válidos; caso contrário, a propriedade Valid do formulário é falsa.
Para habilitar um botão para salvar as alterações somente quando os dados em um formulário forem válidos, mas ainda não tiverem sido enviados, defina a propriedade DisplayMode do botão como esta fórmula:
SubmitButton.DisplayMode = If(IsBlank( Form.Error ) || Form.Valid, DisplayMode.Edit, DisplayMode.Disabled)
Propriedades adicionais
BorderColor – A cor da borda de um controle.
BorderStyle – se a borda de um controle é Solid, Dashed, Dotted ou None.
BorderThickness – A espessura da borda de um controle.
Fill – a cor da tela de fundo de um controle.
Altura – a distância entre as bordas superior e inferior de um controle.
Visível – se um controle aparece ou está oculto.
Largura – a distância entre as bordas esquerda e direita de um controle.
X – a distância entre a borda esquerda de um controle e a borda esquerda de seu contêiner pai (ou a tela, se não houver contêiner pai).
Y – a distância entre a borda superior de um controle e a borda superior de seu contêiner pai (ou a tela, se não houver contêiner pai).
Mais informações
- Para obter uma visão geral abrangente de como os formulários funcionam, consulte Noções básicas sobre formulários de dados.
- Consulte a referência de fórmula do Power Fx para EditForm.
Diretrizes de acessibilidade
Suporte ao leitor de tela
- Considere adicionar um título ao formulário usando um Rótulo.