Exiba, edite ou crie um item, salve o conteúdo e redefina os controles em um controle Editar formulário.

Visão geral

Essas funções alteram o estado do controle Editar formulário. O controle de formulário pode estar em um destes modos:

Modo Descrição
FormMode.Edit O formulário é populado com um registro existente e o usuário pode modificar os valores dos campos. Uma vez concluído, o usuário pode salvar as alterações no registro.
FormMode.New O formulário é populado com valores padrão e o usuário pode modificar os valores dos campos. Uma vez concluído, o usuário pode adicionar o registro à fonte de dados.
FormMode.View O formulário é populado com um registro existente, mas o usuário não pode modificar os valores dos campos.

Descrição

Geralmente essas funções são invocadas com a fórmula OnSelect de um controle botão ou imagem, para que os usuários possam salvar edições, abandonar edições ou criar um registro. Você pode usar controles e essas funções juntas para criar uma solução completa.

Essas funções não retornam valores.

SubmitForm

Use a função SubmitForm na propriedade OnSelect de um controle de botão para salvar quaisquer alterações feitas em um controle Formulário da fonte de dados.

Antes de enviar qualquer alteração, essa função verifica problemas de validação em todos os campos marcados como obrigatórios ou que têm uma ou mais restrições em seus valores. Essa comportamento corresponde ao da função Validate.

A função SubmitForm também verifica a propriedade Valid do formulário, que é uma agregação de todas as propriedades Valid dos controles de cartão que o controle Formulário inclui. Se um problema ocorrer, os dados não serão enviados, e as propriedades Error e ErrorKind do controle Formulário serão definidas de acordo.

Se a validação for aprovada, a função SubmitForm enviará a alteração para a fonte de dados.

  • Se a operação for bem-sucedida, o comportamento OnSuccess do formulário será executado, e as propriedades Error e ErrorKind serão apagadas. Se o formulário estiver no modo FormMode.New, ele será retornado no modo FormMode.Edit.
  • Se a operação não for bem-sucedida, o comportamento OnFailure do formulário será executado, e as propriedades Error e ErrorKind serão definidas de acordo. O modo do formulário não é alterado.

EditForm

A função EditForm altera o modo do controle Formulário para FormMode.Edit. Nesse modo, o conteúdo da propriedade Item do controle do formulário é usado para preencher o formulário. Se a função SubmitForm for executada quando o formulário estiver nesse modo, um registro será alterado, não criado. FormMode.Edit é o padrão para o controle Formulário.

NewForm

A função NewForm altera o modo do controle Formulário para FormMode.New. Nesse modo, o conteúdo da propriedade Item do controle Formulário é ignorado, e os valores padrão da propriedade DataSource do formulário preenchem o formulário. Se a função SubmitForm for executada quando o formulário estiver nesse modo, um registro será criado, não alterado.

ResetForm

A função ResetForm redefine o conteúdo de um formulário para seus valores iniciais, presentes antes de o usuário fazer alterações. Se o formulário estiver no modo FormMode.New, ele será redefinido para o modo FormMode.Edit. O comportamento OnReset do controle Formulário também é executado. Você também pode redefinir os controles individuais com a função Redefinir, mas apenas de dentro do formulário.

ViewForm

A função ViewForm altera o modo do controle Formulário para FormMode.View. Nesse modo, o conteúdo da propriedade Item do controle do formulário é usado para preencher o formulário. As funções SubmitForm e RestForm não têm nenhum efeito quando nesse modo.

Propriedade DisplayMode

O modo atual pode ser lido por meio da propriedade Modo. O modo também determina o valor da propriedade DisplayMode, que pode ser usada por cartões de dados e controles dentro do controle de formulário. Geralmente, a propriedade DisplayMode do cartão de dados será definida como Parent.DisplayMode (referenciando o formato), assim como ocorrerá com a propriedade DisplayMode do controle (referenciando o cartão de dados):

Modo DisplayMode Descrição
FormMode.Edit DisplayMode.Edit Controles e cartões de dados são editáveis e prontos para aceitar alterações em um registro.
FormMode.New DisplayMode.Edit Controles e cartões de dados são editáveis e prontos para aceitar um novo registro.
FormMode.View DisplayMode.View Controles e cartões de dados não são editáveis e são otimizados para exibição.

Sintaxe

SubmitForm( FormName )

  • FormName - Obrigatório. O controle Formulário a ser enviado para a fonte de dados.

EditForm( FormName )

  • FormName - Obrigatório. O controle Formulário para alternar para o modo FormMode.Edit.

NewForm( FormName )

  • FormName - Obrigatório. O controle Formulário para alternar para o modo FormMode.New.

ResetForm( FormName )

  • FormName - Obrigatório. O controle Formulário para redefinir o formulário para seus valores iniciais. Também muda o formulário do modo FormMode.New para o modo FormMode.Edit.

ViewForm( FormName )

  • FormName - Obrigatório. O controle Formulário para mudar para o modo FormMode.View.

Exemplos

Consulte Entender os formulários de dados para obter exemplos completos.

  1. Adicione um controle de botão, defina sua propriedade Text para mostrar Salvar e defina sua propriedade OnSelect com esta fórmula:

    SubmitForm( EditForm )

  2. Defina a propriedade OnFailure de um controle Formulário para ficar em branco e sua propriedade OnSuccess com esta fórmula:

    Back()

  3. Nomeie um controle Rótulo ErrorText e defina sua propriedade Text com esta fórmula:

    EditForm.Error

    Quando o usuário seleciona o botão Salvar, qualquer alteração no controle Formulário será enviada à fonte de dados subjacente.

    • Se o envio for bem-sucedido, todas as alterações serão salvas ou, se o controle Formulário estiver no modo New, um registro será criado. ErrorText está definida como blank, e a tela anterior é re-exibida.
    • Se o envio falhar, ErrorText mostra uma mensagem de erro amigável e a tela atual permanece visível para que o usuário possa corrigir o problema e tente novamente.
  4. Adicione um controle Botão, defina sua propriedade Text para mostrar Cancelar e defina sua propriedade OnSelect com a seguinte fórmula:

    ResetForm( EditForm1 ); Back()

    Quando o usuário selecionar o botão Cancelar, os valores no controle Formulário serão redefinidos para os valores definidos antes de o usuário iniciar a edição, a tela anterior será exibida novamente e o controle Formulário voltará para o modo Edit, caso ele esteja no modo New.

  5. Adicione um controle de botão, defina sua propriedade Text para mostrar Novo e defina sua propriedade OnSelect com esta fórmula:

    NewForm( EditForm ); Navigate( EditScreen, None )

    Quando o usuário selecionar o botão New, o controle Formulário mudará para o modo New, os valores padrão da fonte de dados do controle Formulário preencherão esse controle, e a tela que apresenta o controle Formulário será exibida. Quando a função SubmitForm é executada, um registro é criado, em vez de atualizado.