De functies EditForm, NewForm, SubmitForm, ResetForm en ViewForm

Van toepassing op: Canvas-apps

Hiermee kunt u een item bekijken, bewerken of maken, de inhoud opslaan en de besturingselementen opnieuw instellen in een besturingselement Edit form.

Samenzicht

Deze functies wijzigen de status van het besturingselement Edit form. Het besturingselement kan worden gebruikt in een van deze modi:

Modus Beschrijving
FormMode.Edit Het formulier wordt gevuld met een bestaand record, en de gebruiker kan de waarden van de velden wijzigen. Als de gebruiker klaar is, kan die de wijzigingen opslaan naar de record.
FormMode.New Het formulier wordt gevuld met standaardwaarden en de gebruiker kan de waarden van de velden wijzigen. Als de gebruiker klaar is, kan die de record toevoegen aan de gegevensbron.
FormMode.View Het formulier wordt gevuld met een bestaande record, maar de gebruiker kan de waarden van de velden niet wijzigen.

Beschrijving

Deze functies worden vaak aangeroepen vanuit de formule OnSelect voor een besturingselement van het type Button of Image, zodat de gebruiker wijzigingen kan opslaan, bewerkingen kan weggooien of een record kan maken. U kunt besturingselementen en deze functies samen gebruiken om een volledige oplossing te maken.

Deze functies retourneren geen waarden.

U kunt deze functies alleen gebruiken in gedragsformules.

SubmitForm

Gebruik de functie SubmitForm in de eigenschap OnSelect van een besturingselement Button om wijzigingen in een besturingselement Form op te slaan naar de gegevensbron.

Voordat wijzigingen worden verzonden, controleert deze functie of er validatieproblemen zijn voor velden die als vereist zijn gemarkeerd of waarvoor een of meer beperkingen gelden op de waarde ervan. Dit gedrag komt overeen met de functie Validate.

SubmitForm controleert ook de eigenschap Valid van het formulier, die een aggregatie is van alle Valid-eigenschappen van de besturingselementen van het type Card die het besturingselement Form bevat. Als er een probleem optreedt, worden de gegevens niet verzonden en worden de eigenschappen Error en ErrorKind van het besturingselement Form dienovereenkomstig ingesteld.

Als de validatie is geslaagd, verzendt SubmitForm de wijziging naar de gegevensbron.

  • Als dit lukt, wordt het OnSuccess-gedrag van het formulier uitgevoerd, en worden de eigenschappen Error en ErrorKind uitgeschakeld. Als het formulier zich in de modus FormMode.New bevindt, wordt het teruggezet in de modus FormMode.Edit.
  • Als dit niet lukt, wordt het OnFailure-gedrag van het formulier uitgevoerd en worden de eigenschappen Error en ErrorKind dienovereenkomstig ingesteld. De modus van het formulier blijft ongewijzigd.

EditForm

De functie EditForm wijzigt de modus van het besturingselement Form in FormMode.Edit. In deze modus wordt de inhoud van de eigenschap Item van het besturingselement Form gebruikt om het formulier in te vullen. Als de functie SubmitForm wordt uitgevoerd wanneer het formulier zich in deze modus bevindt, wordt er een record gewijzigd, niet een nieuwe gemaakt. FormMode.Edit is de standaardinstelling voor het besturingselement Form.

Notitie

Wanneer het formulier in bewerkingsmodus is en Item null is, worden de gegevenskaarteigenschappen niet geƫvalueerd en worden standaardwaarden geretourneerd.

NewForm

De functie NewForm wijzigt de modus van het besturingselement Form in FormMode.New. In deze modus wordt de inhoud van de eigenschap Item van het besturingselement Form genegeerd, en wordt het formulier ingevuld met de standaardwaarden van de eigenschap DataSource van het formulier. Als de functie SubmitForm wordt uitgevoerd wanneer het formulier zich in deze modus bevindt, wordt er een record gemaakt, niet gewijzigd.

ResetForm

Met de functie ResetForm wordt de inhoud van een formulier teruggezet naar de oorspronkelijke waarden, de waarden voordat de gebruiker wijzigingen aanbracht. Als het formulier zich in de modus FormMode.New bevindt, wordt het formulier teruggezet naar de modus FormMode.Edit. Daarnaast wordt het OnReset-gedrag van het besturingselement Form uitgevoerd. U kunt ook afzonderlijke besturingselementen opnieuw instellen met de functie Reset maar alleen vanuit het formulier.

ViewForm

De functie ViewForm wijzigt de modus van het besturingselement Form in FormMode.View. In deze modus wordt de inhoud van de eigenschap Item van het besturingselement Form gebruikt om het formulier in te vullen. De functies SubmitForm en ResetForm hebben geen effect in deze modus.

Eigenschap DisplayMode

De huidige modus kan worden gelezen door de eigenschap Mode. De modus bepaalt ook de waarde van de eigenschap DisplayMode, die kan worden gebruikt door gegevenskaarten en besturingselementen in het besturingselement Form. Vaak wordt de eigenschap DisplayMode van de gegevenskaart ingesteld op Parent.DisplayMode (refererend aan het formulier) net als de eigenschap DisplayMode van het besturingselement (refererend aan de gegevenskaart):

Modus DisplayMode Beschrijving
FormMode.Edit DisplayMode.Edit Gegevenskaarten en besturingselementen zijn bewerkbaar, klaar om wijzigingen in een record te accepteren.
FormMode.New DisplayMode.Edit Gegevenskaarten en besturingselementen zijn bewerkbaar, klaar om een nieuw record te accepteren.
FormMode.View DisplayMode.View Gegevenskaarten en besturingselementen zijn niet bewerkbaar en geoptimaliseerd om weer te geven.

Syntaxis

SubmitForm( FormName )

  • FormName: vereist. Besturingselement Form dat moet worden verzonden naar de gegevensbron.

EditForm( FormName )

  • FormName: vereist. Besturingselement Form dat moet worden overgeschakeld naar de modus FormMode.Edit.

NewForm( FormName )

  • FormName: vereist. Besturingselement Form dat moet worden overgeschakeld naar de modus FormMode.New.

ResetForm( FormName )

  • FormName: vereist. Besturingselement Form dat moet worden teruggezet naar de beginwaarden. Daarnaast wordt het formulier overgeschakeld van de modus FormMode.New naar de modus FormMode.Edit.

ViewForm( FormName )

  • FormName: vereist. Besturingselement Form om over te schakelen naar de modus FormMode.View.

Voorbeelden

Zie Gegevensformulieren begrijpen voor volledige voorbeelden.

  1. Voeg een besturingselement Button toe, stel de eigenschap Text in om Opslaan weer te geven en stel de bijbehorende eigenschap OnSelect in op deze formule:

    SubmitForm( EditForm )

  2. Maak de eigenschap OnFailure van een besturingselement Form leeg en stel de bijbehorende eigenschap OnSuccess in op deze formule:

    Back()

  3. Wijzig de naam van een besturingselement Label in ErrorText en stel de eigenschap Text ervan in op deze formule:

    EditForm.Error

    Wanneer de gebruiker de knop Opslaan selecteert, worden de wijzigingen in het besturingselement Form verzonden naar de onderliggende gegevensbron.

    • Als de verzending is geslaagd, worden alle wijzigingen opgeslagen. Als het besturingselement Form in de modus Nieuw staat, wordt er een record gemaakt. ErrorText is leeg en het vorige scherm wordt opnieuw weergegeven.
    • Als het verzenden is mislukt, toont ErrorText een gebruiksvriendelijk foutbericht en blijft het huidige scherm zichtbaar, zodat de gebruiker het probleem kan oplossen en het opnieuw kan proberen.
  4. Voeg een besturingselement Button toe, stel de eigenschap Text in om Annuleren weer te geven en stel de bijbehorende eigenschap OnSelect in op deze formule:

    ResetForm( EditForm ); Back()

    Wanneer de gebruiker de knop Annuleren selecteert, worden de waarden in het besturingselement Form teruggezet naar de waarden van voordat de gebruiker begon met bewerken, wordt het vorige scherm opnieuw weergegeven en wordt het besturingselement Form teruggezet naar de modus Edit als deze in de modus Nieuw stond.

  5. Voeg een besturingselement Button toe, stel de eigenschap Text in op de weergave van Nieuw en stel de bijbehorende eigenschap OnSelect in op deze formule:

    NewForm( EditForm ); Navigate( EditScreen, None )

    Wanneer de gebruiker de knop Nieuw selecteert, wordt het besturingselement Form overgeschakeld naar de modus Nieuw, wordt het besturingselement ingevuld met de standaardwaarden voor de gegevensbron van het besturingselement Form en wordt het scherm met het besturingselement Form weergegeven. Wanneer de functie SubmitForm wordt uitgevoerd, wordt er een nieuwe record gemaakt in plaats van dat een bestaande wordt bijgewerkt.