Funcións EditForm, NewForm, SubmitForm, ResetForm e ViewForm

Aplícase a: aplicacións Canvas

Visualice, edite ou cree un elemento, garde o contido e restableza os controis nun control de Editar formulario.

Visión xeral

Estas funcións cambian o estado do control Editar formulario. O control do formulario pode estar nun destes modos:

Modo Descripción
FormMode.Edit O formulario énchese cun rexistro existente e o usuario pode modificar os valores dos campos. Unha vez completado, o usuario pode gardar os cambios no rexistro.
FormMode.New O formulario énchese de valores predeterminados e o usuario pode modificar os valores dos campos. Unha vez completado, o usuario pode engadir o rexistro á orixe de datos.
FormMode.View O formulario énchese cun rexistro existente pero o usuario non pode modificar os valores dos campos.

Descripción

Estas funcións invócanse a miúdo desde a fórmula OnSelect a Button ou Imaxe control para que o usuario poida gardar edicións, abandonalas ou crear un rexistro. Pode usar os controis e estas funcións xuntos para crear unha solución completa.

Estas funcións non devolven ningún valor.

Só pode usar estas funcións en fórmulas de comportamento.

SubmitForm

Use a función SubmitForm da propiedade OnSelect dun control de Botón para gardar os cambios dun control de formulario na orixe de datos.

Antes de enviar cambios, esta función verifica problemas de validación con calquera campo marcado como obrigatorio ou que teña unha ou varias restricións no seu valor. Este comportamento coincide co da función Validate.

SubmitForm tamén comproba a propiedade Valid do Formulario, que é unha agregación de todos os Valid propiedades dos controis Tarxeta que contén o control Formulario. Se se produce un problema, os datos non se envían e as propiedades Erro e ErrorKind do control do formulario establécense de xeito correspondente.

Se pasa a validación, SubmitForm envía o cambio á orixe de datos.

  • Se ten éxito, execútase o comportamento OnSuccess do formulario e o Error e ErrorKind bímpranse as propiedades. Se o formulario estivo no modo FormMode.New, volverá ao modo FormMode.Edit.
  • Se non ten éxito, execútase o comportamento OnFailure do formulario e o Error e ErrorKind as propiedades establécense en consecuencia. O modo do formulario non cambia.

EditForm

A función EditForm cambia o modo de control do formulario a FormMode.Edit. Neste modo, o contido da propiedade Item do control do formulario úsase para encher o formulario. Se a función SubmitForm se executa cando o formulario está neste modo, cámbiase un rexistro, non se crea. FormMode.Edit é o valor predeterminado do control do formulario.

Nota

Cando o formulario está en modo de edición e Item é nulo, as propiedades da tarxeta de datos non se avalían e devolverán os valores predeterminados.

NewForm

A función NewForm cambia o modo de control do formulario a FormMode.New. Neste modo, o contido da propiedade Item do control do formulario ignórase e os valores por defecto da propiedade DataSource do formulario enchen o formulario. Se a función SubmitForm se executa cando o formulario está neste modo, créase un rexistro, non se cambia.

ResetForm

A función ResetForm restablece os contidos dun formulario aos seus valores iniciais antes de que o usuario realizase cambios. Se o formulario está no modo FormMode.New, restablecerase o formulario ao modo FormMode.Edit. O comportamento OnReset do control do formulario tamén se executa. Tamén pode restablecer controis individuais coa función Reset pero só desde dentro do formulario.

ViewForm

A función ViewForm cambia o modo de control do formulario a FormMode.View. Neste modo, o contido da propiedade Item do control do formulario úsase para encher o formulario. As funcións SubmitForm e ResetForm non teñen ningún efecto neste modo.

Propiedade DisplayMode

O modo actual pódese ler a través da propiedade Mode. O modo tamén determina o valor da propiedade DisplayMode, que poden empregar tarxetas de datos e controis dentro do control de formulario. Moitas veces, a propiedade DisplayMode da tarxeta de datos establecerase en Parent.DisplayMode (facendo referencia ao formulario) como o fará a propiedade DisplayMode do control (facendo referencia á tarxeta de datos):

Modo DisplayMode Descripción
FormMode.Edit DisplayMode.Edit As tarxetas de datos e os controis son editables e están listos para aceptar cambios nun rexistro.
FormMode.New DisplayMode.Edit As tarxetas de datos e os controis son editables e están listos para aceptar un rexistro novo.
FormMode.View DisplayMode.View As tarxetas de datos e os controis non son editables e están optimizados para a súa visualización.

Sintaxe

SubmitForm( FormName )

  • FormName - Obrigatorio. Control do formulario para enviar á orixe de datos.

EditForm( FormName )

  • FormName - Obrigatorio. Control do formulario para cambiar ao modo FormMode.Edit.

NewForm( FormName )

  • FormName - Obrigatorio. Control do formulario para cambiar ao modo FormMode.New.

ResetForm( FormName )

  • FormName - Obrigatorio. Control do formulario para restablecer os valores iniciais. Tamén cambia o formulario do modo FormMode.New ao modo FormMode.Edit.

ViewForm( FormName )

  • FormName - Obrigatorio. Control do formulario para cambiar ao modo FormMode.View.

Exemplos

Consulte Comprender os formularios de datos para obter exemplos completos.

  1. Engada un control Botón, configure a súa propiedade Text para amosar Gardar e estableza a súa propiedade OnSelect nesta fórmula.

    SubmitForm( EditForm )

  2. Estableza a propiedade OnFailure dun control de formulario en branco e a súa propiedade OnSuccess nesta fórmula:

    Back()

  3. Asigne a un control de Etiqueta o nome ErrorText e configure a súa propiedade de Text nesta fórmula:

    EditForm.Error

    Cando o usuario seleccione o botón Gardar, calquera cambio no control de Formulario envíase á orixe de datos subxacente.

    • Se o envío se fai correctamente, gárdanse os cambios ou, se o control de formulario está en modo Novo, créase un rexistro. ErrorText está en branco e a pantalla anterior volve aparecer.
    • Se o envío falla, ErrorText mostra unha mensaxe de erro sinxela e a pantalla actual permanece visible para que o usuario poida corrixir o problema e tentalo de novo.
  4. Engada un control Botón, configure a súa propiedade Text para amosar Cancelar e estableza a súa propiedade OnSelect nesta fórmula.

    ResetForm( EditForm ); Back()

    Cando o usuario seleccione o botón Cancelar, os valores do control de Formulario restableceranse aos anteriores a que o usuario empezase a editalos, volve aparecer a pantalla anterior e o control do formulario volve ao modo Editar se estaba en modo Novo.

  5. Engada un control Botón, configure a súa propiedade Text para amosar Novo e estableza a súa propiedade OnSelect nesta fórmula.

    NewForm( EditForm ); Navigate( EditScreen, None )

    Cando o usuario seleccione o botón Novo, o control Formulario cambiará ao modo Novo, os valores predeterminados da orixe de datos do control do formulario enchen ese control e aparece a pantalla que contén o control Formulario. Cando se executa a función SubmitForm, créase un rexistro no canto de actualizalo.