Funktionerna EditForm, NewForm, SubmitForm, ResetForm och ViewForm

Gäller: Arbetsyteappar

Visa, redigera eller skapa ett objekt, spara innehållet och återställ kontrollerna i en Edit form-kontroll.

Översikt

Dessa funktioner ändrar status för kontrollen Edit form. Form-kontrollen kan vara i något av följande lägen:

Läge Beskrivning
FormMode.Edit Formuläret fylls med en befintlig post och du kan ändra fältens värden. När du är klar kan du spara ändringarna i posten.
FormMode.New Formuläret fylls i med standardvärden och användaren kan ändra fältens värden. När du är klar kan du lägga till posten till datakällan.
FormMode.View Formuläret fylls med en befintlig post, med du kan inte ändra fältens värden.

Beskrivning

Dessa funktioner anropas ofta från OnSelect-formeln för en Button- eller Image-kontroll så att användaren kan spara ändringar, avbryta ändringar eller skapa en post. Du kan använda kontroller och dessa funktioner tillsammans för att skapa en komplett lösning.

Dessa funktioner returnerar inga värden.

Du kan använda dessa funktioner i beteendeformler.

SubmitForm

Använd SubmitForm-funktionen i en Button-kontroll för OnSelect-egenskap för att spara alla ändringar i en Form-kontroll till datakällan.

Innan några ändringar skickas kontrollerar den här funktionen om det finns valideringsproblem med några fält som har markerats som obligatoriska eller som har en eller flera begränsningar i dess värde. Det här beteendet matchar det från Validate-funktionen.

SubmitForm kontrollerar också formulärets Valid-egenskap, vilket är en sammansättning av alla Valid-egenskaper för Card-kontroller som Form-kontrollen innehåller. Om ett problem uppstår skickas inte data och egenskaperna Error och ErrorKind i Form-kontrollen anges i enlighet med detta.

Om valideringen passerar skickar SubmitForm ändringen till datakällan.

  • Om det lyckas så körs formulärets OnSuccess-beteende och egenskaperna Error och ErrorKind rensas. Om formuläret var i FormMode.New-läge returneras det till FormMode.Edit-läge.
  • Om det inte lyckas så körs formulärets OnFailure-beteende och egenskaperna Error och ErrorKind anges i enlighet med detta. Formulärets läge är oförändrat.

EditForm

Funktionen EditForm ändrar Form-kontrollens läge till FormMode.Edit. I det här läget används innehållet i Form-kontrollens Item-egenskap för att fylla formuläret. Om SubmitForm-funktionen körs när formuläret är i detta läge så ändras en post istället för att skapas. FormMode.Edit är standard för Form-kontrollen.

Kommentar

När formuläret är i redigeringsläge objektet är null utvärderas inte datakortsegenskaperna och standardvärdena returneras.

NewForm

Funktionen NewForm ändrar Form-kontrollens läge till FormMode.New. I det här läget ignoreras innehållet i Form-kontrollens Item-egenskap och standardvärdena för formulärets DataSource-egenskap fyller formuläret. Om SubmitForm-funktionen körs när formuläret är i detta läge så skapas en post istället för att ändras.

ResetForm

Funktionen ResetForm återställer innehållet i ett formulär till sina ursprungliga värden, innan användaren gjorde några ändringar. Om formuläret är i FormMode.New-läge återställs det till FormMode.Edit-läge. Form-kontrollens OnReset-beteende körs också. Du kan också återställa enskilda kontroller med funktionen Reset, men endast från formuläret.

ViewForm

Funktionen ViewForm ändrar Form-kontrollens läge till FormMode.View. I det här läget används innehållet i Form-kontrollens Item-egenskap för att fylla formuläret. Funktionerna SubmitForm och ResetForm har ingen effekt i detta läge.

Egenskapen DisplayMode

Det aktuella läget kan läsas via egenskapen Mode. Läget avgör också värdet för egenskapen DisplayMode, vilken kan användas av datakort och kontroller i Form-kontrollen. Datakortets egenskap DisplayMode anges ofta till Parent.DisplayMode (refererar till formuläret), liksom kontrollens egenskap DisplayMode (refererar till datakortet):

Läge DisplayMode Beskrivning
FormMode.Edit DisplayMode.Edit Datakort och kontroller är redigerbara och kan acceptera ändringar i poster.
FormMode.New DisplayMode.Edit Datakort och kontroller är redigerbara och kan acceptera nya poster.
FormMode.View DisplayMode.View Datakort och kontroller är inte redigerbara eller optimerade för visning.

Syntax

SubmitForm( FormName )

  • FormName – Krävs. Form-kontrollen för att skicka till datakällan.

EditForm( FormName )

  • FormName – Krävs. Form-kontrollen för att växla till FormMode.Edit-läge.

NewForm( FormName )

  • FormName – Krävs. Form-kontrollen för att växla till FormMode.New-läge.

ResetForm( FormName )

  • FormName – Krävs. Form-kontrollen för att återställa till ursprungliga värden. Växlar även formuläret från FormMode.New-läge till FormMode.Edit-läge.

ViewForm( FormName )

  • FormName – Krävs. Form-kontrollen för att växla till läget FormMode.View.

Exempel

Se Förstå dataformulär för fullständiga exempel.

  1. Lägg till en Button-kontroll och ställ in dess Text-egenskap för att visa Save samt ange dess OnSelect-egenskap enligt följande formel:

    SubmitForm( EditForm )

  2. Ställ in OnFailure-egenskapen för en Form-kontrollen till blank och dess OnSuccess-egenskap enligt följande formel:

    Back()

  3. Namnge en Label-kontroll ErrorText och ställ in dess Text-egenskap enligt följande formel:

    EditForm.Error

    När användaren väljer Save-knappen skickas alla ändringar i Form-kontrollen till den underliggande datakällan.

    • Om överföringen lyckas sparas alla ändringar, om Form-kontrollen är i New-läge så skapas en post. ErrorText är blank och föregående skärm visas igen.
    • Om överföringen misslyckas visar ErrorText ett användarvänligt felmeddelande och den nuvarande skärmen fortsätter visas så att användaren kan rätta till problemet och försöka igen.
  4. Lägg till en Button-kontroll, ställ in dess Text-egenskap för att visa Cancelsamt ange dess OnSelect-egenskap enligt följande formel:

    ResetForm( EditForm ); Back()

    När användaren väljer Cancel-knappen återställs värdena i Form-kontrollen till som de var innan användaren började redigera, den föregående skärmen visas igen och Form-kontrollen returneras till Edit-läge om den var i New-läge.

  5. Lägg till en Button-kontroll, ställ in dess Text-egenskap för att visa Newsamt ange dess OnSelect-egenskap enligt följande formel:

    NewForm( EditForm ); Navigate( EditScreen, None )

    När användaren väljer New-knappen växlar Form-kontrollen till New-läge, standardvärdena för Form-kontrollens datakälla fyller denna kontroll och skärmen som innehåller Form-kontrollen visas. När SubmitForm-funktionen körs skapas en post i stället för att uppdateras.