Funzioni EditForm, NewForm, SubmitForm, ResetForm e ViewForm

Si applica a: App canvas

Visualizzare, modificare o creare un elemento, salvare il contenuto e reimpostare i controlli in un controllo Edit form.

Panoramica

Queste funzioni modificano lo stato del controllo Edit form. Il controllo form può trovarsi in una delle modalità seguenti:

Modalità Descrizione
FormMode.Edit Il modulo viene popolato con un record esistente e l'utente può modificare i valori dei campi. Al termine dell'operazione, l'utente può salvare le modifiche al record.
FormMode.New Il modulo viene popolato con valori predefiniti e l'utente può modificare i valori dei campi. Al termine dell'operazione, l'utente può aggiungere il record all'origine dati.
FormMode.View Il modulo viene popolato con un record esistente ma l'utente non può modificare i valori dei campi.

Descrizione

Queste funzioni sono spesso chiamate dalla formula OnSelect di un controllo Button o Image in modo che l'utente possa salvare le modifiche, ignorare le modifiche o creare un record. È possibile usare i controlli insieme a queste funzioni per creare una soluzione completa.

Queste funzioni non restituiscono valori.

È possibile usare queste funzioni solo in formule di comportamento.

SubmitForm

Usare la funzione SubmitForm nella proprietà OnSelect del controllo Button per salvare le modifiche in un controllo Form nell'origine dati.

Prima di inviare le modifiche, questa funzione controlla i problemi di convalida con qualsiasi campo contrassegnato come obbligatorio oppure con un campo che include uno o più vincoli nel relativo valore. Questo comportamento è identico a quello della funzione Validate.

SubmitForm controlla anche la proprietà Valid del modulo, che è un'aggregazione di tutte le proprietà Valid dei controlli Card contenuti dal controllo Form. Se si verifica un problema, i dati non vengono inviati e le proprietà Error e ErrorKind del controllo Form vengono impostate di conseguenza.

Se la convalida riesce, SubmitForm invia la modifica all'origine dati.

  • Se ha esito positivo, viene eseguito il comportamento della proprietà OnSuccess del modulo e le proprietà Error e ErrorKind vengono cancellate. Se il modulo fosse in modalità FormMode.New, ritornerebbe alla modalità FormMode.Edit.
  • Se ha esito negativo, viene eseguito il comportamento della proprietà OnFailure del modulo e le proprietà Error e ErrorKind vengono impostate di conseguenza. La modalità del modulo rimane invariata.

EditForm

La funzione EditForm modifica la modalità del controllo Form in FormMode.Edit. In questa modalità, il contenuto della proprietà Item del controllo form viene usato per compilare il modulo. Se la funzione SubmitForm viene eseguita quando il modulo è in questa modalità, viene modificato, ma non creato, un record. FormMode.Edit è il valore predefinito per il controllo Form.

Nota

Quando il modulo è in modalità di modifica e Item è null, le proprietà della scheda dati non vengono valutate e restituiranno i valori predefiniti.

NewForm

La funzione NewForm modifica la modalità del controllo Form in FormMode.New. In questa modalità, il contenuto della proprietà Item del controllo form viene ignorato e i valori predefiniti della proprietà DataSource del modulo compilano il modulo. Se la funzione SubmitForm viene eseguita quando il modulo è in questa modalità, un record viene creato, ma non modificato.

ResetForm

La funzione ResetForm reimposta il contenuto di un modulo ai valori iniziali, prima che l'utente implementasse le modifiche. Se il modulo fosse in modalità FormMode.New, verrebbe reimpostato sulla modalità FormMode.Edit. Anche il comportamento OnReset del controllo form viene eseguito. È anche possibile reimpostare i singoli controlli con la funzione Reset ma solo all'interno del modulo.

ViewForm

La funzione ViewForm modifica la modalità del controllo Form in FormMode.View. In questa modalità, il contenuto della proprietà Item del controllo form viene usato per compilare il modulo. Le funzioni SubmitForm e ResetForm non hanno alcun effetto in questa modalità.

Proprietà DisplayMode

La modalità corrente può essere letta attraverso la proprietà Mode. La modalità determina anche il valore della proprietà DisplayMode che può essere usata da schede di dati e controlli nel controllo form. Spesso, la proprietà DisplayMode della scheda dati verrà impostata su Parent.DisplayMode (che fa riferimento al modulo) così come la proprietà DisplayMode del controllo (che fa riferimento alla scheda dati):

Modalità DisplayMode Descrizione
FormMode.Edit DisplayMode.Edit Schede di dati e controlli sono modificabili, pronti per accettare le modifiche apportate a un record.
FormMode.New DisplayMode.Edit Schede di dati e controlli sono modificabili, pronti per accettare un nuovo record.
FormMode.View DisplayMode.View Schede di dati e controlli non sono modificabili ma sono ottimizzati per la visualizzazione.

Sintassi

SubmitForm( FormName )

  • FormName: obbligatorio. Controllo Form da inviare all'origine dati.

EditForm( FormName )

  • FormName: obbligatorio. Controllo Form per passare alla modalità FormMode.Edit.

NewForm( FormName )

  • FormName: obbligatorio. Controllo Form per passare alla modalità FormMode.New.

ResetForm( FormName )

  • FormName: obbligatorio. Controllo Form per reimpostare i valori iniziali. Inoltre passa il modulo dalla modalità FormMode.New alla modalità FormMode.Edit.

ViewForm( FormName )

  • FormName: obbligatorio. Controllo Form per passare alla modalità FormMode.View.

Esempi

Per esempi completi, vedere Informazioni sui moduli dati.

  1. Aggiungere un controllo Button, impostare la relativa proprietà Text per visualizzare Save e impostare la proprietà OnSelect su questa formula:

    SubmitForm( EditForm )

  2. Impostare la proprietà OnFailure di un controllo form su blank e la relativa proprietà OnSuccess su questa formula:

    Back()

  3. Assegnare il nome ErrorText a un controllo Label e impostare la relativa proprietà Text su questa formula:

    EditForm.Error

    Quando l'utente seleziona il pulsante Salva, le modifiche nel controllo Form vengono inviate all'origine dati sottostante.

    • Se l'invio riesce, le modifiche verranno salvate o, se il controllo Form è in modalità New, viene creato un record. ErrorText è blank, quindi viene visualizzata di nuovo la schermata precedente.
    • Se l'invio non riesce, ErrorText visualizza un messaggio di errore descrittivo e la schermata corrente rimane visibile in modo che l'utente possa risolvere il problema e riprovare.
  4. Aggiungere un controllo Button, impostare la relativa proprietà Text per visualizzare Cancel e impostare la relativa proprietà OnSelect su questa formula:

    ResetForm( EditForm ); Back()

    Quando l'utente seleziona il pulsante Cancel, i valori del controllo Form vengono reimpostati alle condizioni precedenti alla modifica da parte dell'utente, viene visualizzata la schermata precedente e il controllo Form viene riportato alla modalità Edit se fosse in modalità Nuovo.

  5. Aggiungere un controllo Button, impostare la relativa proprietà Text per visualizzare Nuovo e impostare la relativa proprietà OnSelect su questa formula:

    NewForm( EditForm ); Navigate( EditScreen, None )

    Quando l'utente seleziona il pulsante New, il controllo Form passa in modalità New, i valori predefiniti per l'origine dati del controllo Form popolano tale controllo e viene visualizzata la schermata che contiene il controllo Form. Quando la funzione SubmitForm viene eseguita, un record viene creato, ma non aggiornato.