Funciones EditarFormulario, NewForm, SubmitForm, ResetForm y ViewForm de PowerAppsEditForm, NewForm, SubmitForm, ResetForm, and ViewForm functions in PowerApps

Vea, edite o cree un elemento, guarde el contenido y restablezca los controles de un control Editar formulario.View, edit, or create an item, save the contents, and reset the controls in an Edit form control.

Información generalOverview

Estas funciones cambian el estado del control Editar formulario.These functions change the state of the Edit form control. El control de formulario puede estar en uno de estos modos:The form control can be in one of these modes:

ModoMode DescripciónDescription
FormMode.EditFormMode.Edit El formulario se rellena con un registro existente y el usuario puede modificar los valores de los campos.The form is populated with an existing record and the user can modify the values of the fields. Una vez que haya finalizado, el usuario puede guardar los cambios en el registro.Once complete, the user can save the changes to the record.
FormMode.NewFormMode.New El formulario se rellena con los valores predeterminados y el usuario puede modificar los valores de los campos.The form is populates with default values and the user can modify the values of the fields. Una vez que haya finalizado, el usuario puede agregar el registro al origen de datos.Once complete, the user can add the record to the data source.
FormMode.ViewFormMode.View El formulario se rellena con un registro existente pero el usuario no puede modificar los valores de los campos.The form is populated with an existing record but the user cannot modify the values of the fields.

DescripciónDescription

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.These functions are often invoked from the OnSelect formula of a Button or Image control so that the user can save edits, abandon edits, or create a record. También puede usar conjuntamente controles y estas funciones para crear una solución completa.You can use controls and these functions together to create a complete solution.

Estas funciones no devuelven ningún valor.These functions return no values.

SubmitFormSubmitForm

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.Use the SubmitForm function in the OnSelect property of a Button control to save any changes in a Form control to the data source.

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.Before submitting any changes, this function checks for validation issues with any field that's marked as required or that has one or more constraints on its value. Este comportamiento es idéntico al de la función Validar.This behavior matches that of the Validate function.

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.SubmitForm also checks the Valid property of the Form, which is an aggregation of all the Valid properties of the Card controls that the Form control contains. Si se produce un problema, no se envían los datos y las propiedades Error y ErrorKind del control Formulario se establecen en consecuencia.If a problem occurs, the data isn't submitted, and the Error and ErrorKind properties of the Form control are set accordingly.

Si se supera la validación, SubmitForm envía el cambio al origen de datos.If validation passes, SubmitForm submits the change to the data source.

  • Si se realiza correctamente, se ejecutará el comportamiento OnSuccess del formulario y se borrarán las propiedades Error y ErrorKind.If successful, the Form's OnSuccess behavior runs, and the Error and ErrorKind properties are cleared. Si el formulario se encontraba en modo FormMode.New, se devolverá al modo FormMode.Edit.If the form was in FormMode.New mode, it is returned to FormMode.Edit mode.
  • Si no se realiza correctamente, se ejecutará el comportamiento OnFailure del formulario y se establecerán las propiedades Error y ErrorKind en consecuencia.If unsuccessful, the Form's OnFailure behavior runs, and the Error and ErrorKind properties are set accordingly. El modo del formulario no se modifica.The mode of the form is unchanged.

EditarFormularioEditForm

La función EditarFormulario cambia el modo del control Formulario a FormMode.Edit.The EditForm function changes the Form control's mode to FormMode.Edit. En este modo, el contenido de la propiedad Elemento del control Formulario se utiliza para rellenar el formulario.In this mode, the contents of the Form control's Item property are used to populate the form. Si la función SubmitForm se ejecuta cuando el formulario está en este modo, se cambiará un registro, no se creará.If the SubmitForm function runs when the form is in this mode, a record is changed, not created. FormMode.Edit es el valor predeterminado del control Formulario.FormMode.Edit is the default for the Form control.

NewFormNewForm

La función NewForm cambia el modo del control Formulario a FormMode.New.The NewForm function changes the Form control's mode to 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.In this mode, the contents of the Form control's Item property are ignored, and the default values of the Form's DataSource property populate the form. Si la función SubmitForm se ejecuta cuando el formulario está en este modo, se creará un registro, no se cambiará.If the SubmitForm function runs when the form is in this mode, a record is created, not changed.

ResetFormResetForm

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.The ResetForm function resets the contents of a form to their initial values, before the user made any changes. Si el formulario está en modo FormMode.New, se restablecerá al modo FormMode.Edit.If the form is in FormMode.New mode, the form is reset to FormMode.Edit mode. El comportamiento OnReset del control Formulario también se ejecutará.The OnReset behavior of the form control also runs. También puede restablecer controles individuales con la función Reset pero únicamente desde dentro del formulario.You can also reset individual controls with the Reset function but only from within the form.

ViewFormViewForm

La función ViewForm cambia el modo del control Formulario a FormMode.View.The ViewForm function changes the Form control's mode to FormMode.View. En este modo, el contenido de la propiedad Elemento del control Formulario se utiliza para rellenar el formulario.In this mode, the contents of the Form control's Item property are used to populate the form. Las funciones SubmitForm y RestForm no tienen ningún efecto en este modo.The SubmitForm and RestForm functions have no effect when in this mode.

Propiedad DisplayModeDisplayMode Poperty

El modo actual se puede leer mediante la propiedad Modo.The current mode can be read through the Mode property. El modo determina también el valor de la propiedad DisplayMode que pueden usar las tarjetas de datos y controles del control de formulario.The mode also determines the value of the DisplayMode property which can be used by data cards and controls within the form control. 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):Often, the data card's DisplayMode property will be set to Parent.DisplayMode (refernceing the form) as will the control's DisplayMode property (referncing the data card):

ModoMode DisplayModeDisplayMode DescripciónDescription
FormMode.EditFormMode.Edit DisplayMode.EditDisplayMode.Edit Las tarjetas de datos y los controles son editables, y están listos para aceptar los cambios de un registro.Data cards and controls are editable, ready to accept changes to a record.
FormMode.NewFormMode.New DisplayMode.EditDisplayMode.Edit Las tarjetas de datos y los controles son editables, y están listos para aceptar un nuevo registro.Data cards and controls are editable, ready to accept a new record.
FormMode.ViewFormMode.View DisplayMode.ViewDisplayMode.View Las tarjetas de datos y los controles no son editables y están optimizados para su visualización.Data cards and controls are not editable and optimized for viewing.

SintaxisSyntax

SubmitForm( FormName )SubmitForm( FormName )

  • FormName: requerido.FormName - Required. Control Formulario para enviar al origen de datos.Form control to submit to the data source.

EditarFormulario( FormName )EditForm( FormName )

  • FormName: requerido.FormName - Required. Control Formulario para cambiar al modo FormMode.Edit.Form control to switch to FormMode.Edit mode.

NewForm( FormName )NewForm( FormName )

  • FormName: requerido.FormName - Required. Control Formulario para cambiar al modo FormMode.New.Form control to switch to FormMode.New mode.

ResetForm( FormName )ResetForm( FormName )

  • FormName: requerido.FormName - Required. Control Formulario para restablecer los valores iniciales.Form control to reset to initial values. También cambia el formulario del modo FormMode.New al modo FormMode.Edit.Also switches the form from FormMode.New mode to FormMode.Edit mode.

ViewForm( FormName )ViewForm( FormName )

  • FormName: requerido.FormName - Required. Control Formulario para cambiar al modo FormMode.View.Form control to switch to FormMode.View mode.

EjemplosExamples

Consulte Formularios de datos para obtener ejemplos completos.See Understand data forms for complete examples.

  1. Agregue un control Botón, establezca la propiedad Texto para mostrar Guardar y establezca la propiedad AlSeleccionar en esta fórmula:Add a Button control, set its Text property to show Save, and set its OnSelect property to this formula:

    SubmitForm( EditarFormulario )SubmitForm( EditForm )

  2. Establezca la propiedad OnFailure de un control Formulario en blanco y la propiedad OnSuccess en esta fórmula:Set the OnFailure property of a Form control to blank and its OnSuccess property to this formula:

    Atrás()Back()

  3. Asigne el nombre ErrorText a un control Etiqueta y establezca su propiedad Texto en esta fórmula:Name a Label control ErrorText, and set its Text property to this formula:

    EditForm.ErrorEditForm.Error

    Cuando el usuario selecciona el botón Guardar, los cambios del control Formulario se envían al origen de datos subyacente.When the user selects the Save button, any changes in the Form control are submitted to the underlying data source.

    • Si el envío se realiza correctamente, los cambios se guardan o, si el control Formulario está en modo New, se creará un registro.If the submission succeeds, any changes are saved or, if the Form control is in New mode, a record is created. ErrorText está en blanco y vuelve a aparecer la pantalla anterior.ErrorText is blank and the previous screen reappears.
    • 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.If the submission fails, ErrorText shows a user-friendly error message, and the current screen remains visible so that the user can correct the problem and try again.
  4. Agregue un control Botón, establezca su propiedad Texto para que muestre Cancelar y establezca su propiedad AlSeleccionar en esta fórmula:Add a Button control, set its Text property to show Cancel, and set its OnSelect property to this formula:

    ResetForm( EditarFormulario ); Atrás()ResetForm( EditForm ); Back()

    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.When the user selects the Cancel button, the values in the Form control are reset to what they were before the user started to edit it, the previous screen reappears, and the Form control is returned to Edit mode if it was in New mode.

  5. Agregue un control Botón, establezca su propiedad Texto para mostrar Nuevo y establezca su propiedad AlSeleccionar en esta fórmula:Add a Button control, set its Text property to show New, and set its OnSelect property to this formula:

    NewForm( EditarFormulario ); Navigate( EditarPantalla, None )NewForm( EditForm ); Navigate( EditScreen, 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.When the user selects the New button, the Form control switches to New mode, the default values for the Form control's data source populate that control, and the screen that contains the Form control appears. Cuando se ejecuta la función SubmitForm, se crea un registro en lugar de actualizarlo.When the SubmitForm function runs, a record is created instead of updated.