Funciones EditForm, NewForm, SubmitForm, ResetForm y ViewForm

Se aplica a: Aplicaciones de lienzo

Vea, edite o cree un elemento, guarde el contenido y restablezca los controles de un control Edit form.

Información general

Estas funciones cambian el estado del control Edit form. El control de formulario puede estar en uno de estos modos:

Modo Descripción
FormMode.Edit El formulario se rellena con un registro existente y el usuario puede modificar los valores de los campos. Una vez que haya finalizado, el usuario puede guardar los cambios en el registro.
FormMode.New El formulario se rellena con los valores predeterminados y el usuario puede modificar los valores de los campos. Una vez que haya finalizado, el usuario puede agregar el registro al origen de datos.
FormMode.View El formulario se rellena con un registro existente pero el usuario no puede modificar los valores de los campos.

Descripción

Estas funciones a menudo se invocan desde la fórmula OnSelect de un control Button o Image para que el usuario pueda guardar las modificaciones, abandonarlas o crear un registro. También puede usar conjuntamente controles y estas funciones para crear una solución completa.

Estas funciones no devuelven ningún valor.

Puede usar estas funciones únicamente en fórmulas de comportamiento.

SubmitForm

Use la función SubmitForm de la propiedad OnSelect de un control Button para guardar los cambios de un control Form en el origen de datos.

Antes de enviar cualquier cambio, esta función comprueba problemas de validación con cualquier campo que se haya marcado como requerido o que tenga una o más restricciones en su valor. Este comportamiento es idéntico al de la función Validate.

SubmitForm también comprueba la propiedad Valid del control Form, que es una agregación de todas las propiedades Valid de los controles Card que contiene el control Form. Si se produce un problema, no se envían los datos y las propiedades Error y ErrorKind del control Form se establecen en consecuencia.

Si se supera la validación, SubmitForm envía el cambio al origen de datos.

  • Si se realiza correctamente, se ejecutará el comportamiento OnSuccess del formulario y se borrarán las propiedades Error y ErrorKind. Si el formulario se encontraba en modo FormMode.New, se devolverá al modo FormMode.Edit.
  • Si no se realiza correctamente, se ejecutará el comportamiento OnFailure del formulario y se establecerán las propiedades Error y ErrorKind en consecuencia. El modo del formulario no se modifica.

EditForm

La función EditForm cambia el modo del control Form a FormMode.Edit. En este modo, el contenido de la propiedad Item del control Form se utiliza para rellenar el formulario. Si la función SubmitForm se ejecuta cuando el formulario está en este modo, se cambiará un registro, no se creará. FormMode.Edit es el valor predeterminado del control Form.

Nota

Cuando el formulario está en modo de edición y Item es nulo, las propiedades de la tarjeta de datos no se evalúan y devolverán los valores predeterminados.

NewForm

La función NewForm cambia el modo del control Form a FormMode.New. En este modo, el contenido de la propiedad Item del control Form se omite y los valores predeterminados de la propiedad DataSource rellenan el formulario. Si la función SubmitForm se ejecuta cuando el formulario está en este modo, se creará un registro, no se cambiará.

ResetForm

La función ResetForm restablece el contenido de un formulario a sus valores iniciales, el contenido que había antes de que el usuario realizara cambios. Si el formulario está en modo FormMode.New, se restablecerá al modo FormMode.Edit. El comportamiento OnReset del control Form también se ejecutará. También puede restablecer controles individuales con la función Reset pero únicamente desde dentro del formulario.

ViewForm

La función ViewForm cambia el modo del control Form a FormMode.View. En este modo, el contenido de la propiedad Item del control Form se utiliza para rellenar el formulario. Las funciones SubmitForm y ResetForm no tienen ningún efecto en este modo.

Propiedad DisplayMode

El modo actual se puede leer mediante la propiedad Mode. El modo determina también el valor de la propiedad DisplayMode que pueden usar las tarjetas de datos y controles del control de formulario. Normalmente, la propiedad DisplayMode de la tarjeta de datos se establecerá en Parent.DisplayMode (que hace referencia al formulario) al igual que lo hará la propiedad DisplayMode del control (que hace referencia a la tarjeta de datos):

Modo DisplayMode Descripción
FormMode.Edit DisplayMode.Edit Las tarjetas de datos y los controles son editables, y están listos para aceptar los cambios de un registro.
FormMode.New DisplayMode.Edit Las tarjetas de datos y los controles son editables, y están listos para aceptar un nuevo registro.
FormMode.View DisplayMode.View Las tarjetas de datos y los controles no son editables y están optimizados para su visualización.

Sintaxis

SubmitForm( FormName )

  • FormName - requerido. Control Form para enviar al origen de datos.

EditForm( FormName )

  • FormName - requerido. Control Form para cambiar al modo FormMode.Edit.

NewForm( FormName )

  • FormName - requerido. Control Form para cambiar al modo FormMode.New.

ResetForm( FormName )

  • FormName - requerido. Control Form para restablecer los valores iniciales. También cambia el formulario del modo FormMode.New al modo FormMode.Edit.

ViewForm( FormName )

  • FormName - requerido. Control Form para cambiar al modo FormMode.View.

Ejemplos

Consulte Formularios de datos para obtener ejemplos completos.

  1. Agregue un control Button, establezca la propiedad Text para mostrar Guardar y establezca la propiedad OnSelect en esta fórmula:

    SubmitForm( EditForm )

  2. Establezca la propiedad OnFailure de un control Form blank y la propiedad OnSuccess en esta fórmula:

    Back()

  3. Asigne el nombre ErrorText a un control Label y establezca su propiedad Text en esta fórmula:

    EditForm.Error

    Cuando el usuario selecciona el botón Guardar, los cambios del control Form se envían al origen de datos subyacente.

    • Si el envío se realiza correctamente, los cambios se guardan o, si el control Form está en modo New, se creará un registro. ErrorText es blank y vuelve a aparecer la pantalla anterior.
    • Si se produce un error en el envío, ErrorText mostrará un mensaje de error descriptivo y la pantalla actual permanecerá visible para que el usuario pueda corregir el problema e intentarlo de nuevo.
  4. Agregue un control Button, establezca su propiedad Text para que muestre Cancelar y establezca su propiedad OnSelect en esta fórmula:

    ResetForm( EditForm ); Back()

    Si el usuario selecciona el botón Cancelar, los valores del control Form se restablecen a su estado original, el estado que tenían antes de que el usuario empezara a editarlo, vuelve a aparecer la pantalla anterior y se devuelve el control Form al modo Edit si estaba en modo New.

  5. Agregue un control Button, establezca su propiedad Text para mostrar New y establezca su propiedad OnSelect en esta fórmula:

    NewForm( EditForm ); Navigate( EditScreen, None )

    Cuando el usuario selecciona el botón New, se activa el control Form en modo New, los valores predeterminados del origen de datos del control Form rellenan el control y aparece la pantalla que contiene el control Form. Cuando se ejecuta la función SubmitForm, se crea un registro en lugar de actualizarlo.