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

Información general

Estas funciones cambian el estado del control Editar formulario. 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 AlSeleccionar de un control Botón o Imagen 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.

SubmitForm

Use la función SubmitForm de la propiedad AlSeleccionar de un control Botón para guardar los cambios de un control Formulario 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 Validar.

SubmitForm también comprueba la propiedad Valid del control Formulario, que es una agregación de todas las propiedades Valid de los controles Card que contiene el control Formulario. Si se produce un problema, no se envían los datos y las propiedades Error y ErrorKind del control Formulario 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.

EditarFormulario

La función EditarFormulario cambia el modo del control Formulario a FormMode.Edit. En este modo, el contenido de la propiedad Elemento del control Formulario 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 Formulario.

NewForm

La función NewForm cambia el modo del control Formulario a FormMode.New. En este modo, el contenido de la propiedad Elemento del control Formulario 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 Formulario 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 Formulario a FormMode.View. En este modo, el contenido de la propiedad Elemento del control Formulario se utiliza para rellenar el formulario. Las funciones SubmitForm y RestForm no tienen ningún efecto en este modo.

Propiedad DisplayMode

El modo actual se puede leer mediante la propiedad Modo. 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 Formulario para enviar al origen de datos.

EditarFormulario( FormName )

  • FormName: requerido. Control Formulario para cambiar al modo FormMode.Edit.

NewForm( FormName )

  • FormName: requerido. Control Formulario para cambiar al modo FormMode.New.

ResetForm( FormName )

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

ViewForm( FormName )

  • FormName: requerido. Control Formulario para cambiar al modo FormMode.View.

Ejemplos

Consulte Formularios de datos para obtener ejemplos completos.

  1. Agregue un control Botón, establezca la propiedad Texto para mostrar Guardar y establezca la propiedad AlSeleccionar en esta fórmula:

    SubmitForm( EditarFormulario )

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

    Atrás()

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

    EditForm.Error

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

    • Si el envío se realiza correctamente, los cambios se guardan o, si el control Formulario está en modo New, se creará un registro. ErrorText está en blanco 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 Botón, establezca su propiedad Texto para que muestre Cancelar y establezca su propiedad AlSeleccionar en esta fórmula:

    ResetForm( EditarFormulario ); Atrás()

    Si el usuario selecciona el botón Cancelar, los valores del control Formulario 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 Formulario al modo Edit si estaba en modo New.

  5. Agregue un control Botón, establezca su propiedad Texto para mostrar Nuevo y establezca su propiedad AlSeleccionar en esta fórmula:

    NewForm( EditarFormulario ); Navigate( EditarPantalla, None )

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