Funciones EditForm, NewForm, SubmitForm, ResetForm y ViewForm
Se aplica a: Aplicaciones de Canvas
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 |
---|---|
ModoFormulario.Editar | 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. |
ModoFormulario.Nuevo | 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. |
Modo de formulario.Ver | 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 verifica la propiedad Válida del Formulario, que es una agregación de todas las propiedades Válidas de los controles tarjeta que contiene el control Formulario. 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 para el control Formulario.
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 |
---|---|---|
ModoFormulario.Editar | Modo de visualización.Editar | Las tarjetas de datos y los controles son editables, y están listos para aceptar los cambios de un registro. |
ModoFormulario.Nuevo | Modo de visualización.Editar | Las tarjetas de datos y los controles son editables, y están listos para aceptar un nuevo registro. |
Modo de formulario.Ver | Modo de visualización.Ver | Las tarjetas de datos y los controles no son editables y están optimizados para su visualización. |
Sintaxis
Enviar formulario( Nombre del formulario )
- FormName - Obligatorio. Control Form para enviar al origen de datos.
Editar formulario( Nombre del formulario )
- FormName - Obligatorio. Control Form para cambiar al modo FormMode.Edit.
NuevoFormulario( NombreFormulario )
- FormName - Obligatorio. Control Form para cambiar al modo FormMode.New.
ResetForm( NombreFormulario )
- FormName - Obligatorio. Control Form para restablecer los valores iniciales. También cambia el formulario del modo FormMode.New al modo FormMode.Edit.
VerFormulario( NombreFormulario )
- FormName - Obligatorio. Control Form para cambiar al modo FormMode.View.
Ejemplos
Consulte Formularios de datos para obtener ejemplos completos.
Agregue un control Button, establezca la propiedad Text para mostrar Guardar y establezca la propiedad OnSelect en esta fórmula:
Enviar formulario (Editar formulario)
Establezca la propiedad OnFailure de un control Form blank y la propiedad OnSuccess en esta fórmula:
Atrás()
Asigne el nombre ErrorText a un control Label y establezca su propiedad Text en esta fórmula:
Error de edición de formulario
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 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.
Agregue un control Button, establezca su propiedad Text para que muestre Cancelar y establezca su propiedad OnSelect en esta fórmula:
ResetForm(EditForm); Atrás()
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.
Agregue un control Button, establezca su propiedad Text para mostrar New y establezca su propiedad OnSelect en esta fórmula:
NewForm(EditForm); Navegar(EditScreen, Ninguno)
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.