Funcions EditForm, NewForm, SubmitForm, ResetForm i ViewForm

S'aplica a: Aplicacions de llenç

Visualitzeu, editeu o creeu un element, deseu el contingut i restabliu-ne els controls en un control Edita el formulari.

Informació general

Aquestes funcions canvien l'estat del control Edita el formulari. El control del formulari pot estar en un d'aquests modes:

Mode Descripció
FormMode.Edit El formulari està emplenat amb un registre existent i l'usuari pot modificar els valors dels camps. Un cop completat, l'usuari pot desar els canvis en el registre.
FormMode.New El formulari s'ha emplenat amb els valors per defecte i l'usuari pot modificar els valors dels camps. Un cop completat, l'usuari pot afegir el registre a la font de dades.
FormMode.View El formulari està emplenat amb un registre existent però l'usuari no pot modificar els valors dels camps.

Descripció

Aquestes funcions sovint s'invoquen des de la fórmula OnSelect d'un botó o un control Imatge perquè l'usuari pugui desar edicions, abandonar edicions o crear un registre. Podeu utilitzar controls i aquestes funcions juntament per crear una solució completa.

Aquestes funcions no retornen cap valor.

Només podeu utilitzar aquestes funcions en fórmules de comportament.

SubmitForm

Utilitzeu la funció SubmitForm a la propietat OnSelect d'un control Botó per desar els canvis en un control del formulari a la font de dades.

Abans d'enviar cap canvi, aquesta funció comprova si hi ha problemes de validació amb qualsevol camp que s'hagi marcat com a obligatori o que tingui una o diverses restriccions en el seu valor. Aquest comportament coincideix amb el de la funció Validate.

SubmitForm també comprova la propietat Valid del formulari, que és una agregació de totes les propietats vàlides dels controls Targeta que conté el control Formulari. Si es produeix un problema, les dades no s'envien i les propietats Error i ErrorKind del control del formulari es defineixen oportunament.

Si la validació és correcta, SubmitForm envia el canvi a la font de dades.

EditForm

La funció EditForm canvia el mode del control del formulari a FormMode.Edit. En aquest mode, el contingut de la propietat Item del control del formulari s'utilitza per emplenar el formulari. Si la funció SubmitForm s'executa quan el formulari és en aquest mode, un registre canvia, no es crea. FormMode.Edit és el valor per defecte per al control del formulari.

Nota

Quan el formulari està en mode d'edició i l'element és nul, les propietats de la targeta de dades no s'avaluen i retornen els valors per defecte.

NewForm

La funció NewForm canvia el mode del control del formulari a FormMode.New. En aquest mode, el contingut de la propietat Item del control de formulari s'ignorarà i els valors per defecte de la propietat DataSource del formulari emplenen el formulari. Si la funció SubmitForm s'executa quan el formulari és en aquest mode, un registre es crea, no canvia.

ResetForm

La funció ResetForm restableix el contingut d'un formulari als seus valors inicials, abans que l'usuari hagi fet cap canvi. Si el formulari es trobava en el mode FormMode.New, el formulari es restableix al mode FormMode.Edit. El comportament OnReset del control del formulari també s'executa. També podeu restablir els controls individuals amb la funció Reset, però només des del formulari.

ViewForm

La funció ViewForm canvia el mode del control del formulari a FormMode.View. En aquest mode, el contingut de la propietat Item del control del formulari s'utilitza per emplenar el formulari. Les funcions SubmitForm i ResetForm no tenen cap efecte en aquest mode.

Propietat DisplayMode

El mode actual es pot llegir a la propietat Mode. El mode també determina el valor de la propietat DisplayMode, que pot utilitzar-se amb targetes de dades i controls dins del control del formulari. Sovint, la propietat DisplayMode de la targeta de dades estarà definida com a Parent.DisplayMode (referència al formulari) com la propietat DisplayMode del control (referència a la targeta de dades):

Mode DisplayMode Descripció
FormMode.Edit DisplayMode.Edit Les targetes de dades i els controls són editables, a punt per acceptar els canvis en un registre.
FormMode.New DisplayMode.Edit Les targetes de dades i els controls són editables, a punt per acceptar un registre nou.
FormMode.View DisplayMode.View Les targetes de dades i els controls no són editables i s'optimitzen per visualitzar-se.

Sintaxi

SubmitForm( FormName )

  • FormName: obligatori. Control de formulari per enviar a la font de dades.

EditForm( FormName )

  • FormName: obligatori. Control de formulari per canviar al mode FormMode.Edit.

NewForm( FormName )

  • FormName: obligatori. Control de formulari per canviar al mode FormMode.New.

ResetForm( FormName )

  • FormName: obligatori. Control de formulari per reinicialitzar als valors inicials. També canvia el formulari de FormMode.New a FormMode.Edit.

ViewForm( FormName )

  • FormName: obligatori. Control de formulari per canviar al mode FormMode.View.

Exemples

Vegeu Entendre els formularis de dades per veure exemples complets.

  1. Afegiu un control Botó, definiu la propietat Text per mostrar Desa i definiu la propietat OnSelect a aquesta fórmula:

    SubmitForm( EditForm )

  2. Definiu la propietat OnFailure d'un control de formulari per esborrar i la propietat OnSuccess a aquesta fórmula:

    Back()

  3. Anomeneu un control EtiquetaErrorText i definiu-ne la propietat Text com aquesta fórmula:

    EditForm.Error

    Quan l'usuari selecciona el botó Desa, tots els canvis en el control del formulari s'envien a la font de dades subjacent.

    • Si l'enviament és correcte, tots els canvis es desen o, si el control del formulari està en el mode Nou, es crea un registre. ErrorText està en blanc i la pantalla anterior torna a aparèixer.
    • Si l'enviament no és correcte, ErrorText mostra un missatge d'error fàcil d'entendre per a l'usuari i la pantalla actual queda visible per tal que l'usuari pugui corregir el problema i tornar-ho a provar.
  4. Afegiu un control Botó, definiu la propietat Text per mostrar Cancel·la i definiu la propietat OnSelect a aquesta fórmula:

    ResetForm( EditForm ); Back()

    Quan l'usuari selecciona el botó Cancel·la, els valors en el control del formulari es restableixen a com estaven abans que l'usuari hagi començat a editar-lo, es torna a mostrar la pantalla anterior i el control del formulari torna al mode Edició si estava en el mode Nou.

  5. Afegiu un control Botó, definiu la propietat Text per mostrar Nou i definiu la propietat OnSelect a aquesta fórmula:

    NewForm( EditForm ); Navigate( EditScreen, None )

    Quan l'usuari selecciona el botó Nou, el control del formulari canvia al mode Nou, els valors per defecte per a la font de dades del control del formulari emplenen aquest control i la pantalla que conté el control del formulari apareix. Quan la funció SubmitForm s'executi, es crea un registre en comptes d'actualitzar-lo.