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.Modifica | 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 control Button o Image 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.
- Si té èxit, s'executa el comportament OnSuccess del formulari i s'esborren les propietats Error i ErrorKind . Si el formulari es trobava en el mode FormMode.New, es torna al mode FormMode.Edit.
- Si no té èxit, s'executa el comportament OnFailure del formulari i les propietats Error i ErrorKind es defineixen en conseqüència. El mode del formulari no es modifica.
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 del control Form.
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 retornaran 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.Modifica | DisplayMode.Modifica | Les targetes de dades i els controls són editables, a punt per acceptar els canvis en un registre. |
FormMode.New | DisplayMode.Modifica | 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.
Afegiu un control Botó, definiu la propietat Text per mostrar Desa i definiu la propietat OnSelect a aquesta fórmula:
SubmitForm( EditForm )
Definiu la propietat OnFailure d'un control de formulari per esborrar i la propietat OnSuccess a aquesta fórmula:
Enrere()
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 torna a aparèixer la pantalla anterior.
- 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.
Afegiu un control Botó, definiu la propietat Text per mostrar Cancel·la i definiu la propietat OnSelect a aquesta fórmula:
ResetForm( EditForm ); Enrere()
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.
Afegiu un control Botó, definiu la propietat Text per mostrar Nou i definiu la propietat OnSelect a aquesta fórmula:
NewForm( EditForm ); Navega( EditScreen, Cap )
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.