Muestra, edición y creación de un registro en un origen de datos.

Descripción

Si agrega un control Formulario de presentación , el usuario puede mostrar todos los campos de un registro o solo los campos que usted especifique. Si agrega un control Formulario de edición, el usuario puede editar esos campos, crear un registro y guardar los cambios realizados en un origen de datos.

Controles de ejemplo y vista de formulario

Si agrega un control Galería, puede configurarlo para mostrar una tabla en un origen de datos y luego configurar un formulario para mostrar cualquier registro que el usuario seleccione en la galería. También puede agregar uno o varios controles Botón que el usuario puede seleccionar para guardar las modificaciones, cancelar las modificaciones y crear un registro. Al usar varios controles juntos, puede crear una solución completa.

Selección de registros

Para cada tipo de formulario, establezca su propiedad DataSource en una tabla de registros y establezca la propiedad Elemento para mostrar un registro específico en esa tabla. Por ejemplo, puede establecer la propiedad Elemento de un formulario en la propiedad SelectedItem de un control Galería. Cuando el usuario selecciona un registro en la galería, aparece el mismo registro en el formulario, excepto que el formulario puede mostrar más campos. Si el usuario vuelve a la galería y selecciona un registro diferente, la propiedad SelectedItem de la galería cambia. Este cambio actualiza la propiedad Elemento del formulario, que mostrará el registro recién seleccionado.

Cada control de formulario contiene uno o varios controles Tarjeta. Estableciendo la propiedad DataField de una tarjeta, se especifica qué campo muestra esta tarjeta y otros detalles.

Creación de un registro

Cuando un control Formulario de edición se encuentra en modo Edición, el usuario puede actualizar el registro que se especifica en la propiedad Elemento del formulario. Si se inspecciona, la propiedad Modo devuelve Edición.

Cuando un control Formulario de edición se encuentra en modo Nuevo pero la propiedad Elemento se omite. El formulario no muestra un registro existente; en su lugar, los valores de cada campo coinciden con los valores predeterminados del origen de datos con el que ha configurado el formulario. La función NuevoFormulario hace que un formulario cambie a este modo.

Por ejemplo, puede establecer la propiedad Texto de un botón para mostrar Nuevo y su propiedad AlSeleccionar en una fórmula que incluya la función NuevoFormulario. Si el usuario selecciona ese botón, el formulario cambia al modo Nuevo para que el usuario puede crear un registro a partir de los valores conocidos.

Un formulario vuelve a cambiar a modo Edición si es ejecuta la función ResetFormo la función SubmitForm se ejecuta correctamente.

  • Puede establecer la propiedad Texto de un botón para mostrar Cancelar y su propiedad AlSeleccionar en una fórmula que incluya la función ResetForm. Si el usuario selecciona ese botón, se descartan todos los cambios en curso, y los valores en el formulario, una vez más, coinciden con los valores predeterminados del origen de datos.
  • Puede establecer la propiedad Texto de un botón para mostrar Guardar cambios y su propiedad AlSeleccionar en una fórmula que incluya la función SubmitForm. Si el usuario selecciona ese botón y se actualiza el origen de datos, los valores en el formulario se restablecen a los valores predeterminados del origen de datos.

Guardar cambios

Si crea un botón Guardar cambios tal y como se describe en la sección anterior, el usuario puede crear o actualizar un registro y luego seleccionar ese botón para guardar esos cambios en el origen de datos. En su lugar, puede configurar un control Imagen o algún otro control para realizar la misma tarea, siempre y cuando configure ese control con la función SubmitForm. En cualquier caso, las propiedades Error, ErrorKind, OnSuccess, y OnFailure proporcionan comentarios sobre el resultado.

Cuando la función SubmitForm se ejecuta, validará primero los datos que el usuario desea enviar. Si un campo obligatorio no contiene un valor u otro valor no se ajusta a alguna otra restricción, las propiedades ErrorKind se establecen y se ejecuta la fórmula OnFailure. Puede configurar el botón Guardar cambios u otro control de forma que el usuario pueda seleccionarlo solo si los datos son válidos (es decir, si la propiedad Válido del formulario es true). Tenga en cuenta que el usuario no solo tiene que corregir el problema sino que también tiene que volver a seleccionar el botón Guardar cambios (o descartar los cambios seleccionando un botón Cancelar, como se describió anteriormente) para restablecer las propiedades Error y ErrorKind.

Si los datos pasan la validación, SubmitForm los envía al origen de datos, lo que puede tardar algún tiempo dependiendo de la latencia de red.

  • Si el envío se realiza correctamente, la propiedad Error se desactiva, la propiedad ErrorKind se establece en ErrorKind.Noney se ejecuta la fórmula OnSuccess. Si el usuario creó un registro (es decir, si el formulario se encontraba anteriormente en modo Nuevo), el formulario se cambia a modo Edición para que el usuario pueda editar el registro recién creado o uno diferente.
  • Si se produce un error en el envío, la propiedad Error contiene un mensaje de error descriptivo del origen de datos, en donde se explica el problema. La propiedad ErrorKind se establece como corresponda, dependiendo del problema y se ejecuta la fórmula OnFailure.

Algunos orígenes de datos pueden detectar cuando hay dos personas tratando de actualizar el mismo registro a la vez. En este caso, ErrorKind se establece en ErrorKind.Conflict, y la solución es actualizar el origen de datos con los cambios del otro usuario y volver a aplicar los cambios realizados por este usuario.

Sugerencia: si ofrece un botón Cancelar en el formulario para que el usuario puede descartar los cambios en curso, agregue la función ResetForm a la propiedad AlSeleccionar del botón incluso si esa propiedad también contiene una función Navigar para cambiar las pantallas. De lo contrario, el formulario conservará los cambios del usuario.

Propiedades principales

DataSource: el origen de datos que contiene el registro que el usuario muestra, edita o crea.

  • Si no establece esta propiedad, el usuario no puede mostrar, editar o crear un registro, y no se proporcionan ni metadatos adicionales ni la validación.

Error: un mensaje de error descriptivo para mostrar para este formulario cuando se produce un error en la función SubmitForm.

  • Esta propiedad solo se aplica al control Formulario de edición.
  • Esta propiedad cambia solo cuando se ejecuta la función SubmitForm, EditForm, o ResetForm.
  • Si no se produce ningún error, esta propiedad está en blanco, y ErrorKind se establece en ErrorKind.None.
  • Cuando sea posible, el mensaje de error devuelto estará en el idioma del usuario. Algunos mensajes de error proceden directamente del origen de datos y puede que no estén en el idioma del usuario.

ErrorKind: si se produce un error cuando se ejecuta SubmitForm, el tipo de error que se produjo:

  • Solo se aplica a un control Formulario de edición.
  • Esta propiedad no tiene la misma enumeración que la función Errores. Un control Formulario de edición puede devolver estos valores:
ErrorKind Descripción
ErrorKind.Conflict Otro usuario ha cambiado el mismo registro, lo que produce un conflicto de cambios. Ejecute la función Actualizar para volver a cargar el registro e intente de nuevo el cambio.
ErrorKind.None El error es de un tipo desconocido.
ErrorKind.Sync El origen de datos informó de un error. Compruebe la propiedad Error para obtener más información.
ErrorKind.Validation Se detectó un problema de validación general.

Elemento: el registro en el origen de datos que el usuario mostrará o editará.

LastSubmit: el último registro enviado correctamente, incluidos los campos generada por el servidor.

  • Esta propiedad solo se aplica al control Formulario de edición.
  • Si el origen de datos genera automáticamente o calcula cualquier campo, como un campo de identificador con un número único, la propiedad LastSubmit tendrá este nuevo valor después de que SubmitForm se ejecute correctamente.
  • El valor de esta propiedad está disponible en la fórmula OnSuccess.

Modo: el control se encuentra en modo Edición o Nuevo.

Modo Descripción
FormMode.Edit El usuario puede editar un registro mediante el formulario. Los valores de las tarjetas del formulario se rellenan con el registro existente, el usuario puede cambiarlos. Si la función SubmitForm se ejecuta correctamente, se modifica un registro existente.
FormMode.New El usuario puede crear un registro mediante el formulario. Los valores de los controles del formulario se rellenan con los valores predeterminados para un registro del origen de datos. Si la función SubmitForm se ejecuta correctamente, se crea un registro.
  • De forma predeterminada, el control de formulario está en modo Edición, pero cambia a modo Nuevo cuando se ejecuta la función Nuevo formulario.

El formulario cambia de modo Nuevo a modo Edición cuando se produce cualquiera de estos cambios: - El formulario se envía correctamente y se crea un registro. Si se establece la galería para mover automáticamente la selección a este nuevo registro, el formulario estará en modo Edición para el registro creado para que el usuario puede realizar cambios adicionales. - Se ejecuta la función EditForm. - Se ejecuta la función ResetForm. Por ejemplo, el usuario puede seleccionar un botón Cancelar que se haya configurado con esta función.

OnFailure: la forma en la que responde una aplicación cuando una operación de datos ha sido incorrecta.

  • Esta propiedad solo se aplica al control Formulario de edición.

OnReset: la forma en la que responde una aplicación cuando se restablece un control Formulario de edición.

  • Esta propiedad solo se aplica al control Formulario de edición.

OnSuccess: la forma en la que responde una aplicación cuando una operación de datos se ha realizado correctamente.

  • Esta propiedad solo se aplica al control Formulario de edición.

Sin guardar: True si el control Formulario de edición contiene cambios de usuario que no se guardaron.

  • Esta propiedad solo se aplica al control Formulario de edición.
  • Utilice esta propiedad para advertir al usuario antes de que pierda los cambios no guardados. Para impedir que el usuario seleccione un registro diferente en un control Galería antes de guardar los cambios en el registro actual, establezca la propiedad Deshabilitado en Form.Unsaved y, asimismo, deshabilite las operaciones de actualización.

Actualizaciones: los valores que se van a escribir en el origen de datos para un registro cargado en un control de formulario.

  • Esta propiedad solo se aplica al control Formulario de edición.
  • Utilice esta propiedad para extraer los valores de campo de las tarjetas en el control. A continuación, puede utilizar estos valores para actualizar manualmente el origen de datos con una llamada de función Revisión u otro método expuesto por una conexión. No es necesario utilizar esta propiedad si usa la función SubmitForm.
  • Esta propiedad devuelve un registro de valores. Por ejemplo, si el control de formulario contiene controles de tarjeta para los campos Nombre y Cantidad y los valores de la propiedad Actualizaciones para dichas tarjetas devuelven "Widget" y 10, respectivamente, la propiedad Actualizaciones para el control de formulario devolvería {Nombre: "Widget", Cantidad: 10}.

Válido: indica si un control Tarjeta o Formulario de edición contiene entradas válidas listas para enviarse al origen de datos.

  • Esta propiedad solo se aplica al control Formulario de edición.
  • La propiedad Válido de un control de formulario agrega las propiedades Válido de todos los controles Tarjeta del formulario. La propiedad Válido de un formulario es true solamente si los datos en todas las tarjetas de ese formulario son válidos, de lo contrario, la propiedad Válido del formulario es false.
  • Para habilitar un botón para guardar los cambios solo cuando los datos en un formulario son válidos pero aún no se han enviado, establezca el botón Habilitado con esta fórmula:

    SubmitButton.Enabled = IsBlank( Form.Error ) || Form.Valid

Propiedades adicionales

BorderColor: el color de un borde del control.

BorderStyle: si el borde del control es Solid, Dashed, Dotted o None.

BorderThickness: el grosor de un borde del control.

Fill: el color de fondo de un control.

Height: la distancia entre los bordes superior e inferior de un control.

Visible: indica si un control aparece o está oculto.

Width: la distancia entre los bordes derecho e izquierdo de un control.

X: la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si no hay un contenedor primario).

Y: la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si no hay un contenedor primario).