Funktionerne EditForm, NewForm, SubmitForm, ResetForm og ViewForm

Gælder for: Lærredapps

Få vist, rediger, eller opret et element, gem indholdet, og nulstil kontrolelementerne i et Edit form-kontrolelement.

Oversigt

Disse funktioner ændrer tilstanden for kontrolelementet Edit form. Kontrolelementet kan være i en af følgende tilstande:

Tilstand Beskrivelse
FormMode.Edit Formularen udfyldes med en eksisterende post, og brugeren kan ændre værdierne i felterne. Når formularen er udfyldt, kan brugeren gemme ændringerne til posten.
FormMode.New Denne formular udfyldes med en standardværdi, og brugeren kan ændre værdierne i felterne. Når formularen er udfyldt, kan brugeren føje posten til datakilden.
FormMode.View Formularen udfyldes med en eksisterende post, men brugeren kan ikke ændre værdierne i felterne.

Beskrivelse

Disse funktioner bliver ofte kaldt fra formlen OnSelect for et Button- eller Image-kontrolelement, så brugeren kan gemme eller annullere ændringer eller oprette en post. Du kan bruge kontrolelementerne og funktionerne sammen for at oprette en komplet løsning.

Disse funktioner returnerer ingen værdier.

Du kan kun disse funktioner i funktionsformler.

SubmitForm

Brug funktionen SubmitForm i egenskaben OnSelect for et Button-kontrolelement for at gemme ændringerne i et formularkontrolelement til datakilden.

Inden eventuelle ændringer sendes, vil funktionen validere feltinput i de felter, der er markeret som obligatoriske eller har en eller flere begrænsninger på sin værdi. Denne funktionsmåde svarer til funktionen Validate.

SubmitForm kontrollerer også egenskaben Valid i formularen, som er en samling af alle Valid-egenskaberne for alle de Card-kontrolelementer, som formularen indeholder. Hvis der opstår et problem, sendes dataene ikke, og egenskaberne Error og ErrorKind for formularen tildeles de relevante værdier.

Hvis der ikke findes fejl under valideringen, vil SubmitForm sende ændringerne til datakilden.

  • Hvis der ikke opstår fejl, køres funktionsmåden OnSuccess for formularen, og egenskaberne Error og ErrorKind ryddes. Hvis formularen var i tilstanden FormMode.New, sættes den tilbage til tilstanden FormMode.Edit.
  • Hvis der findes fejl, køres formularens OnFailure-funktionsmåde, og egenskaberne Error og ErrorKind tildeles de relevante værdier. Formularens tilstand er uændret.

EditForm

Funktionen EditForm ændrer tilstanden for formularen til FormMode.Edit. I denne tilstand bruges indholdet af formularens Item-egenskab til at udfylde formularen. Hvis funktionen SubmitForm køres, når formularen er i denne tilstand, ændres en post. Den oprettes ikke. FormMode.Edit er standardtilstanden for formularkontrolelementet.

Bemærk

Når formularen er i en redigeringstilstand elementet er null, evalueres egenskaber for datakort ikke, og standardværdier returneres.

NewForm

Funktionen NewForm ændrer formularens tilstand til FormMode.New. I denne tilstand ignoreres formularens Item-kontrolelementegenskab, og standardværdierne i formularens DataSource-egenskab bruges til at udfylde formularen. Hvis funktionen SubmitForm køres, når formularen er i denne tilstand, oprettes en post. Den ændres ikke.

ResetForm

Funktionen ResetForm nulstiller indholdet af formularen til de oprindelige værdier, før brugeren ændrede nogen værdier. Hvis formularen er i tilstanden FormMode.New, nulstilles formularen til tilstanden FormMode.Edit. Funktionsmåden OnReset af formularens kontrolelement køres også. Du kan også nulstille individuelle kontrolelementer med funktionen Reset, men det kan kun gøres fra formularen.

ViewForm

Funktionen ViewForm ændrer formularens tilstand til FormMode.View. I denne tilstand bruges indholdet af formularens Item-egenskab til at udfylde formularen. Funktionerne SubmitForm og ResetForm har ingen effekt i denne tilstand.

Egenskaben DisplayMode

Den aktuelle tilstand kan læses via egenskaben Mode. Tilstanden bestemmer også værdien af egenskaben DisplayMode, som kan bruges af datakort og kontrolelementer på formularen. Ofte vil egenskaben DisplayMode for datakortet være indstillet til Parent.DisplayMode (med reference til formularen), og det samme gælder for egenskaben DisplayMode (med reference til datakortet):

Tilstand DisplayMode Beskrivelse
FormMode.Edit DisplayMode.Edit Datakort og kontrolelementer kan redigeres, så de er klar til at acceptere ændringer af en post.
FormMode.New DisplayMode.Edit Datakort og kontrolelementer kan redigeres, så de er klar til at acceptere en ny post.
FormMode.View DisplayMode.View Datakort og kontrolelementer kan ikke redigeres og er ikke optimeret til visning.

Syntaks

SubmitForm( FormName )

  • FormName – påkrævet. Formularkontrolelement, som skal sendes til datakilden.

EditForm( FormName )

  • FormName – påkrævet. Formularkontrolelementet skifter til tilstanden FormMode.Edit.

NewForm( FormName )

  • FormName – påkrævet. Formularkontrolelementet skifter til tilstanden FormMode.New.

ResetForm( FormName )

  • FormName – påkrævet. Formularkontrolelementet nulstilles til de oprindelige værdier. Ændrer også formularens tilstand fra FormMode.New til FormMode.Edit.

ViewForm( FormName )

  • FormName – påkrævet. Formularkontrolelementet ændres til tilstanden FormMode.View.

Eksempler

Se Forstå dataformularer for komplette eksempler.

  1. Tilføj et Button-kontrolelement, indstil dens Text-egenskab til Save, og indstil dens OnSelect-egenskab til denne formel:

    SubmitForm( EditForm )

  2. Indstil egenskaben OnFailure for et formularkontrolelement til en tom værdi og dens OnSuccess-egenskab til denne formel:

    Back()

  3. Navngiv et Label-kontrolelement til ErrorText, og indstil dets Text-egenskab til denne formel:

    EditForm.Error

    Når brugeren vælger knappen Gem, vil ændringer i formularkontrolelementet blive sendt til den underliggende datakilde.

    • Hvis det ikke kan sendes, bliver eventuelle ændringer gemt, eller hvis formularkontrolelementet er i tilstanden New, oprettes der en post. ErrorText er tom, og det foregående skærmbillede vises igen.
    • Hvis der ikke kan sendes, vises der en fejlmeddelelse i ErrorText, og det aktuelle skærmbillede forbliver synligt, så brugeren kan rette problemet og prøve igen.
  4. Tilføj et Button-kontrolelement, og indstil dets Text-egenskab til Cancel og dets OnSelect-egenskab til denne formel:

    ResetForm( EditForm ); Back()

    Når brugeren vælger knappen Annuller, bliver værdierne i formularkontrolelementet nulstillet til værdierne, fra før brugeren begyndte at redigere formularen, det foregående skærmbillede vises igen, og formularkontrolelementet ændres til tilstanden Rediger, hvis den var i tilstanden Ny.

  5. Tilføj et knapkontrolelement, indstil dets Text-egenskab til New, og indstil dets OnSelect-egenskab til denne formular:

    NewForm( EditForm ); Navigate( EditScreen, None )

    Når brugeren vælger knappen Ny, eller hvis formularkontrolelementets tilstand ændres til New, vil kontrolelementet blive udfyldt med standardværdierne fra den datakilde, der er angivet for formularen, og det skærmbillede, som indeholder formularkontrolelementet, vises. Når funktionen SubmitForm køres, oprettes der en post i stedet for at opdatere den.