Funksjonene EditForm, NewForm, SubmitForm, ResetForm og ViewForm
Gjelder for: Lerretsapper
Vis, rediger eller opprett et element, lagre innholdet og tilbakestill kontrollene i en Edit form-kontroll.
Oversikt
Disse funksjonene endrer tilstanden til Edit form-kontrollen. Skjema-kontrollen kan være i én av disse modusene:
Modus | Beskrivelse |
---|---|
Formmodus.Rediger | Skjemaet fylles ut med en eksisterende post, og brukeren kan endre verdiene til feltene. Når dette er fullført, kan brukeren lagre endringene i posten. |
FormMode.Ny | Skjemaet fylles ut med standardverdier, og brukeren kan endre verdiene til feltene. Når dette er fullført, kan brukeren legge til posten i datakilden. |
FormMode.View | Skjemaet fylles ut med en eksisterende post, men brukeren kan ikke endre verdiene til feltene. |
Beskrivelse
Disse funksjonene startes ofte fra OnSelect-formelen til en Button- eller Image-kontroll, slik at brukeren kan lagre redigeringer, forkaste endringer eller opprette en post. Du kan bruke kontrollene og disse funksjonene sammen for å opprette en komplett løsning.
Disse funksjonene returnerer ingen verdier.
Du kan kun bruke disse funksjonene i formler for virkemåte.
SubmitForm
Bruk SubmitForm-funksjonen i OnSelect-egenskapen i en Button-kontroll for å lagre endringer til en Form-kontroll i datakilden.
Før du sender inn eventuelle endringer, kontrollerer denne funksjonen om det finnes noen valideringsproblemer i felter som er merket som obligatorisk, eller som har én eller flere begrensninger på verdien. Denne virkemåten samsvarer med virkemåten til Validate-funksjonen.
SubmitForm kontrollerer også Valid-egenskapen ... for skjemaet, som er en aggregering av alle Valid-egenskapene ... for kort-kontrollene ... som Skjema-kontrollen inneholder. Hvis det oppstår et problem, sendes ikke dataene, og Error- og ErrorKind-egenskapene til Skjema-kontrollen angis i henhold til dette.
Hvis valideringen blir godkjent, sender SubmitForm endringen til datakilden.
- Hvis valideringen er vellykket, kjører skjemaets OnSuccess-virkemåte, og Error- og ErrorKind-egenskapene fjernes. Hvis skjemaet var i FormMode.New-modus, returneres det til FormMode.Edit-modusen.
- Hvis valideringen mislyktes, kjører skjemaets OnFailure-virkemåte, og Error- og ErrorKind-egenskapene angis i henhold til dette. Modusen til skjemaet forblir uendret.
EditForm
EditForm-funksjonen endres Form-kontrollens modus til FormMode.Edit. I denne modusen brukes innholdet til Form-kontrollens Item-egenskap til å fylle ut skjemaet. Hvis SubmitForm-funksjonen kjøres når skjemaet befinner seg i denne modusen, blir en post endret, ikke opprettet. FormMode.Edit er standard for Form-kontrollen.
Merk
Når skjemaet er i redigeringsmodus og Element er null, evalueres ikke egenskaper for datakort, og standardverdier returneres.
NewForm
NewForm-funksjonen endres Form-kontrollens modus til FormMode.New. I denne modusen ignoreres Form-kontrollens Item-egenskap, og standardverdiene til skjemaets DataSource-egenskap fyller ut skjemaet. Hvis SubmitForm-funksjonen kjøres når skjemaet befinner seg i denne modusen, blir en post opprettet, ikke endret.
ResetForm
ResetForm-funksjonen tilbakestiller innholdet i et skjema til sine opprinnelige verdier, slik de var før brukeren foretok endringer. Hvis skjemaet er i FormMode.New-modus, tilbakestilles det til FormMode.Edit-modusen. OnReset-virkemåten til Skjema-kontrollen kjøres også. Du kan også tilbakestille individuelle kontroller med Reset-funksjonen, men bare fra selve skjemaet.
ViewForm
ViewForm-funksjonen endrer Form-kontrollens modus til FormMode.View. I denne modusen brukes innholdet til Form-kontrollens Item-egenskap til å fylle ut skjemaet. SubmitForm- og ResetForm-funksjonene har ingen effekt i denne modusen.
Egenskapen DisplayMode
Den gjeldende modusen kan leses gjennom Mode-egenskapen. Modusen bestemmer også verdien til DisplayMode-egenskapen, som kan brukes av datakortene og kontrollene i Skjema-kontrollen. DisplayMode-egenskapen til datakortet angis ofte til Parent.DisplayMode (med henvisning til skjemaet), og det samme skjer med DisplayMode-egenskapen til kontrollen (med henvisning til datakortet):
Modus | DisplayMode | Beskrivelse |
---|---|---|
Formmodus.Rediger | DisplayMode.Edit | Datakort og kontroller er redigerbare og klare for å godta endringer i en post. |
FormMode.Ny | DisplayMode.Edit | Datakort og kontroller er redigerbare og klare for å godta en ny post. |
FormMode.View | DisplayMode.View | Datakort og kontroller er ikke redigerbare eller optimalisert for visning. |
Syntaks
SubmitForm( FormName )
- FormName – Obligatorisk. Form-kontroll som skal sendes til datakilden.
EditForm( FormName )
- FormName – Obligatorisk. Form-kontroll som skal byttes til FormMode.Edit-modus.
NewForm( FormName )
- FormName – Obligatorisk. Form-kontroll som skal byttes til FormMode.New-modus.
ResetForm( FormName )
- FormName – Obligatorisk. Form-kontroll som skal tilbakestilles til opprinnelige verdier. Bytter også skjemaet fra FormMode.New-modus til FormMode.Edit-modus.
ViewForm( FormName )
- FormName – Obligatorisk. Form-kontroll som skal byttes til FormMode.View-modus.
Eksempler
Se Forstå dataskjemaer utfyllende eksempler.
Legg til en Knapp-kontroll, angi kontrollens Text-egenskap til Save, og sett kontrollens OnSelect-egenskap til denne formelen:
SubmitForm( EditForm )
Angi OnFailure-egenskapen for en Form-kontroll til tom ogOnSuccess-egenskapen til denne formelen:
Tilbake()
Gi en Label-kontroll navnet ErrorText, og angi kontrollens Text-egenskapen til denne formelen:
EditForm.Error
Når brukeren velger Lagre-knappen, sendes eventuelle endringer i Form-kontrollen til den underliggende datakilden.
- Hvis innsendingen blir vellykket, lagres eventuelle endringer. Hvis Form-kontrollen er i Ny-modusen, opprettes det en post. ErrorText er tom, og forrige skjermbilde vises på nytt.
- Hvis innsendingen mislyktes, viser ErrorText en brukervennlig feilmelding, og det gjeldende skjermbildet forblir synlig slik at brukeren kan rette opp problemet og prøve på nytt.
Legg til en Knapp-kontroll, angi kontrollens Text-egenskap til å vise Avbryt, og angi kontrollens OnSelect-egenskap til denne formelen:
ResetForm( EditForm ); Tilbake()
Når en bruker velger Avbryt-knappen, tilbakestilles verdiene i Skjema-kontrollen til de opprinnelige verdiene, slik de var før brukeren begynte å redigere. Det forrige skjermbildet vises på nytt, og Form-kontrollen returneres til Rediger-modus hvis den var i Ny-modus.
Legg til en Knapp-kontroll, angi kontrollens Text-egenskap til å vise Ny, og angi kontrollens OnSelect-egenskap til denne formelen:
NewForm( EditForm ); Naviger( EditScreen, Ingen )
Når brukeren velger Ny-knappen, veksler Form-kontrollen til Ny-modusen, standardverdiene for Form-kontrollens datakilde fyller ut kontrollen, og skjermbildet som inneholder Form-kontrollen vises på nytt. Når SubmitForm-funksjonen kjører, opprettes en post i stedet for å oppdateres.