Funcțiile EditForm, NewForm, SubmitForm, ResetForm și ViewForm

Se aplică pentru: aplicații Canvas

Vizualizați, editați sau creați un articol, salvați conținutul și resetați controalele într-un control Editați formularul.

Prezentare generală

Aceste funcții schimbă starea controlului Editați formularul. Controlul formularului poate fi în unul dintre aceste moduri:

Mod Descriere
FormMode.Edit Formularul este populat cu o înregistrare existentă, iar utilizatorul poate modifica valorile câmpurilor. Odată finalizat, utilizatorul poate salva modificările în înregistrare.
FormMode.New Formularul este populat cu valori implicite, iar utilizatorul poate modifica valorile câmpurilor. Odată finalizat, utilizatorul poate adăuga înregistrarea în sursa de date.
FormMode.View Formularul este populat cu o înregistrare existentă, dar utilizatorul nu poate modifica valorile câmpurilor.

Descriere

Aceste funcții sunt adesea invocate din formula OnSelect a Button sau Imagine control, astfel încât utilizatorul să poată salva editările, să abandoneze editările sau să creeze o înregistrare. Puteți să folosiți controale și aceste funcții împreună pentru a crea o soluție completă.

Aceste funcții nu returnează valori.

Puteți să utilizați aceste funcții numai în formule comportamentale.

SubmitForm

Folosiți funcția SubmitForm în proprietatea OnSelect a unui control Buton pentru a salva orice modificări ale unui control Formular la sursa de date.

Înainte de a trimite modificări, această funcție verifică problemele de validare cu orice câmp marcat ca fiind necesar sau care are una sau mai multe constrângeri asupra valorii sale. Acest comportament se potrivește cu cel al funcției Validate.

SubmitForm verifică, de asemenea, proprietatea Valid a formularului, care este o agregare a tuturor Valid proprietățile Card controale pe care le conține controlul Formular. Dacă apare o problemă, datele nu sunt transmise, iar proprietățile Eroare și ErrorKind din controlul Formular sunt setate în consecință.

Dacă validarea trece, SubmitForm supune modificarea la sursa de date.

  • Dacă are succes, se rulează comportamentul OnSuccess Formular și Error și ErrorKind proprietățile sunt șterse. Dacă formularul ar fi fost în modul FormMode.New, acesta este returnat în modul FormMode.Edit.
  • Dacă nu reușește, se rulează Comportamentul OnFailure Formular și Error și ErrorKind proprietățile sunt stabilite în consecință. Modul formularului este neschimbat.

EditForm

Funcția EditForm schimbă modul controlului Formular în FormMode.Edit. În acest mod, conținutul proprietății Articol aferente controlului Formular sunt utilizate pentru a popula formularul. Dacă funcția SubmitForm rulează atunci când forma este în acest mod, o înregistrare este modificată, nu creată. FormMode.Edit este implicit pentru controlul Formular.

Notă

Când formularul este în mod editare și Itemul este nul, proprietățile cardului de date nu sunt evaluate și vor returna valorile implicite.

NewForm

Funcția NewForm schimbă modul controlului Formular în FormMode.New. În acest mod, proprietatea Articol a controlului Formular este ignorată, iar valorile implicite ale proprietății Sursă de date ale formularului populează formularul. Dacă funcția SubmitForm rulează atunci când forma este în acest mod, o înregistrare este creată, nu modificată.

ResetForm

Funcția ResetForm resetează conținutul unui formular la valorile inițiale, înainte ca utilizatorul să efectueze modificări. Dacă formularul este în modul FormMode.New, formularul este returnat în modul FormMode.Edit. Comportamentul OnReset controlului Formular rulează și el. De asemenea, puteți reseta controale individuale cu ajutorul funcției Reset, dar numai din interiorul formularului.

ViewForm

Funcția ViewForm schimbă modul controlului Formular în FormMode.View. În acest mod, conținutul proprietății Articol aferente controlului Formular sunt utilizate pentru a popula formularul. Funcțiile SubmitForm și ResetForm nu au efect atunci când sunt în acest mod.

Proprietatea DisplayMode

Modul curent poate fi citit prin intermediul proprietatea Mod. Modul determină, de asemenea, valoarea proprietății DisplayMode, care poate fi utilizată de carduri de date și controale în controlul formularului. Adesea, proprietatea cardului de date DisplayMode va fi setată la Parent.DisplayMode (cu referire la formular) ca și proprietatea DisplayMode a controlului (cu referire la cardul de date):

Mod DisplayMode Descriere
FormMode.Edit DisplayMode.Edit Cardurile de date și controalele sunt editabile, gata să accepte modificările unei înregistrări.
ModFormular.Nou ModAfișare.Editare Cardurile de date și controalele sunt editabile, gata să accepte o nouă înregistrare.
ModFormular.Vizualizare ModAfișare.Vizualizare Cardurile de date și controalele nu sunt modificabile și optimizate pentru vizualizare.

Sintaxă

SubmitForm( FormName )

  • FormName - Obligatoriu. Formular de control pentru a fi trimis la sursa de date.

EditForm( FormName )

  • FormName - Obligatoriu. Formular de control pentru a comuta la modul FormMode.Edit.

NewForm( FormName )

  • FormName - Obligatoriu. Formular de control pentru a comuta la modul FormMode.New.

ResetForm( FormName )

  • FormName - Obligatoriu. Formular control pentru a reseta la valorile inițiale. De asemenea, schimbă formularul din modul FormMode.New în modul FormMode.Edit.

ViewForm( FormName )

  • FormName - Obligatoriu. Formular de control pentru a comuta la modul FormMode.View.

Exemple

Consultați Înțelegeți formularele de date pentru exemple complete.

  1. Adăugați un control Buton, setați proprietatea sa Text pentru a arăta Salvare și setați proprietatea sa OnSelect pentru această formulă:

    SubmitForm( EditForm )

  2. Setați proprietatea OnFailure a unui control Formular la necompletat și proprietatea OnSuccess la această formulă:

    Back()

  3. Numiți un control LabelErrorText și setați-i proprietatea Text la această formulă:

    EditForm.Error

    Când utilizatorul selectează butonul Salvare, orice modificare a controlului Formular este trimisă la sursa de date subiacentă.

    • Dacă trimiterea reușește, toate modificările sunt salvate sau, în cazul în care controlul Formular este în modul Nou, se creează o înregistrare. ErrorText este necompletat iar ecranul anterior reapare.
    • Dacă transmiterea eșuează, ErrorText arată un mesaj de eroare ușor de utilizat, iar ecranul curent rămâne vizibil, astfel încât utilizatorul să poată corecta problema și să încerce din nou.
  4. Adăugați un control Buton, setați proprietatea sa Text pentru a arăta Salvare și setați proprietatea sa Anulare pentru această formulă:

    ResetForm( EditForm ); Back()

    Când utilizatorul selectează butonul Anulare, valorile din controlul Formular sunt resetate la ceea ce au fost înainte ca utilizatorul să înceapă să-l editeze, ecranul anterior reapare și controlul Formular este returnat la modul Editați dacă a fost în modul Nou.

  5. Adăugați un control Buton, setați proprietatea sa Text pentru a arăta Salvare și setați proprietatea sa Nou pentru această formulă:

    NewForm( EditForm ); Navigate( EditScreen, None )

    Când utilizatorul selectează butonul Nou, controlul Formular trece la modul Nou, valorile implicite pentru sursa de date a controlului formularului populează respectivul control și apare ecranul care conține controlul Formular. Când funcția SubmitForm funcționează, se creează o înregistrare în loc de actualizare.