Funksjonene EditForm, NewForm, SubmitForm, ResetForm og ViewForm

Gjelder: 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
FormMode.Edit 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.New 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 til skjemaet, som er en samling av alle Valid-egenskapene til Card-kontrollene som Form-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
FormMode.Edit DisplayMode.Edit Datakort og kontroller er redigerbare og klare for å godta endringer i en post.
FormMode.New 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.

  1. Legg til en Knapp-kontroll, angi kontrollens Text-egenskap til Save, og sett kontrollens OnSelect-egenskap til denne formelen:

    SubmitForm( EditForm )

  2. Angi OnFailure-egenskapen for en Form-kontroll til tom ogOnSuccess-egenskapen til denne formelen:

    Back()

  3. 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 det forrige skjermbildet 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.
  4. Legg til en Knapp-kontroll, angi kontrollens Text-egenskap til å vise Avbryt, og angi kontrollens OnSelect-egenskap til denne formelen:

    ResetForm( EditForm ); Back()

    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.

  5. Legg til en Knapp-kontroll, angi kontrollens Text-egenskap til å vise Ny, og angi kontrollens OnSelect-egenskap til denne formelen:

    NewForm( EditForm ); Navigate( EditScreen, None )

    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.