Controalele afișare formulare și editare formulare în Power Apps
Afișați, editați și creați o înregistrare într-o sursă de date.
Descriere
Dacă adăugați un control Afișare formular, utilizatorul poate afișa toate câmpurile unei înregistrări sau numai câmpurile pe care le specificați. Dacă adăugați un control Editare formular, utilizatorul poate edita aceste câmpuri, crea o înregistrare și poate salva aceste modificări într-o sursă de date.
Dacă adăugați un control Gallery, îl puteți configura pentru a afișa un tabel într-o sursă de date și apoi configurați un formular pentru a arăta oricare înregistrare selectează utilizatorul în galerie. Puteți adăuga, de asemenea, unul sau mai multe controale Button pe care utilizatorul le poate selecta pentru a salva modificări, a anula modificările și a crea o înregistrare. Folosind controale împreună, puteți crea o soluție completă.
Limitări
Controlul formularului are aceste limitări:
- Nu puteți copia și lipi formulare în carduri de date. Acest lucru este pentru a preveni crearea anumitor combinații de controale care riscă stabilitatea și performanța aplicației.
Selectarea înregistrărilor
Pentru oricare dintre tipurile de formulare, le setați proprietatea Sursă de date într-un tabel de înregistrări și setați proprietatea formularul Articol pentru a afișa o înregistrare specifică în tabelul respectiv. De exemplu, puteți seta proprietatea Articol a unui formular la proprietatea ArticolSelectat a unui control Gallery. Când utilizatorul selectează o înregistrare în galerie, aceeași înregistrare apare în formular, cu excepția faptului că formularul poate afișa mai multe câmpuri. Dacă utilizatorul revine la galerie și selectează o înregistrare diferită, proprietatea ArticolSelectat a galeriei se schimbă. Această modificare actualizează proprietatea Articol a formularului, care arată apoi înregistrarea recent selectată.
Puteți seta și proprietatea Articol a formularului folosind un control Derulant, după cum descrie Afișați, editați sau adăugați o înregistrare sau o funcție cum ar fi Căutare sau Primul. De exemplu, puteți seta proprietatea Element pentru oricare dintre aceste formule pentru a arăta intrarea Fabrikam în tabelul Conturi în Microsoft Dataverse:
First(Accounts)
Lookup(Accounts, "Fabrikam" in name)
Fiecare control de formular conține unul sau mai multe controale Card. Prin setarea proprietății DataField a unui card, dumneavoastră specificați ce câmp arată acea carte și alte detalii.
Crearea unei înregistrări
Când un control Editare formular este în modul Editare, utilizatorul poate actualiza înregistrarea specificată în proprietatea Articol a formularului. Dacă este inspectată, proprietatea Mod returnează Editare.
Când un control Editare formular este în modul Nou totuși, proprietatea Articol este ignorată. Formularul nu prezintă o înregistrare existentă; în schimb, valorile din fiecare câmp se potrivesc cu valorile implicite ale sursei de date cu care ați configurat formularul. Funcția FormularNou face ca un formular să treacă la acest mod.
De exemplu, puteți seta proprietatea Text a unui buton să afișeze Nou și proprietatea sa LaSelectare într-o formulă care include funcția FormularNou. Dacă utilizatorul selectează butonul respectiv, formularul trece la modul Nou astfel încât utilizatorul să poată crea o înregistrare începând cu valorile cunoscute.
Un formular trece înapoi la modul Editare dacă fie funcția ResetareFormular rulează sau funcția DepunereFormular rulează cu succes.
- Puteți seta proprietatea Text a unui buton să afișeze Anulare și proprietatea sa LaSelectare într-o formulă care include funcția ResetareFormular. Dacă utilizatorul selectează butonul, toate modificările în curs sunt eliminate, iar valorile din formular se potrivesc din nou cu valorile implicite ale sursei de date.
- Puteți seta proprietatea Text a unui buton să afișeze Salvați modificările și proprietatea sa LaSelectare într-o formulă care include funcția DepunereFormular. Dacă utilizatorul selectează butonul respectiv și sursa de date este actualizată, valorile din formular sunt resetate la valorile implicite ale sursei de date.
Salvați modificările
Dacă creați un buton Salvați modificările așa cum descrie secțiunea anterioară, utilizatorul poate crea sau actualiza o înregistrare și apoi selecta butonul pentru a salva acele modificări în sursa de date. În schimb, puteți configura un control Image sau un alt control pentru a efectua aceeași sarcină, atât timp cât configurați controlul cu ajutorul funcției DepunereFormular. În orice caz, proprietățile Eroare, ErrorKind, OnSuccess și OnFailure oferă feedback cu privire la rezultat.
Când funcția SubmitForm rulează, mai întâi validează datele pe care utilizatorul dorește să le transmită. Dacă un câmp obligatoriu nu conține o valoare sau o altă valoare nu se conformează unei alte constrângeri, proprietățile TipEroare sunt setate, iar formula LaEșec rulează. Puteți configura butonul Salvați modificările sau alt control, astfel încât utilizatorul să-l poată selecta numai dacă datele sunt valabile (adică dacă proprietatea Valabil a formularului este adevărat). Rețineți că utilizatorul nu numai că trebuie să corecteze problema, ci și să selecteze butonul Salvați modificările din nou sau eliminați modificările selectând un buton Anulare pentru a reseta proprietățile Eroare și TipEroare.
Dacă datele trec prin validare, DepunereFormular le trimite către sursa de date, ceea ce poate dura ceva timp în funcție de latența rețelei.
- Dacă transmiterea reușește, proprietatea Eroare este lichidată, proprietatea Tiperoare este setată pe TipEroare.Niciunul și formula LaSucces rulează. Dacă utilizatorul a creat o înregistrare (adică dacă formularul a fost anterior în modul Nou), formularul este schimbat în modul Editare astfel încât utilizatorul să poată edita înregistrarea recent creată sau alta.
- Dacă transmiterea eșuează, proprietatea Eroare conține un mesaj de eroare ușor de utilizat de la sursa de date, care explică problema. Proprietatea TipEroare este setată în mod corespunzător, în funcție de problemă și formula LaEșec rulează.
Unele surse de date pot detecta când două persoane încearcă să actualizeze aceeași înregistrare în același timp. În acest caz, Tiperoare este setat la TipEroare.Conflict și remediul este să reîmprospătați sursa de date cu modificările celuilalt utilizator și să reaplicați modificările făcute de acest utilizator.
Sfat
Dacă oferiți un buton Anulare pe formularul dvs., astfel încât utilizatorul să poată abandona modificările în curs, adăugați funcția ResetareFormular pe proprietatea butonului LaSelectare chiar dacă și această proprietate conține, de asemenea, o funcție Navigați pentru a schimba ecrane. În caz contrar, formularul va păstra modificările utilizatorului.
Aspect
În mod implicit, cardurile sunt plasate într-o singură coloană pentru aplicațiile de telefon și trei coloane pentru aplicațiile pentru tablete. Puteți specifica câte coloane are un formular și dacă cardurile ar trebui să se atașeze la ele în timp ce configurați formularul. Aceste setări nu sunt expuse ca proprietăți, deoarece sunt utilizate numai pentru a seta proprietățile X, Y și Lățime ale cardurilor.
Pentru mai multe informații, consultați Prezentarea aspectului formularului de date.
Proprietăți cheie
Sursă de date - Sursa de date care conține înregistrarea pe care utilizatorul o va arăta, edita sau crea.
- Dacă nu setați această proprietate, utilizatorul nu poate afișa, edita sau crea o înregistrare și nu este furnizată nicio metadată sau validare suplimentară.
Mod automat - Modul inițial al controlului formularului. Vedeți descrierea Modului mai jos pentru valorile acceptabile și semnificațiile lor.
Modul de afișare - Modul de utilizat pentru cardurile de date și controalele din controlul formularului.
Derivat din proprietatea Mod și nu poate fi setat independent:
Mod | ModAfișare | Descriere |
---|---|---|
ModFormular.Editare | ModAfișare.Editare | 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. |
Eroare - Un mesaj de eroare ușor de utilizat pentru a fi afișat pentru acest formular atunci când funcția DepunereFormular eșuează.
- Această proprietate se aplică numai controlului Editați formularul.
- Această proprietate se schimbă numai atunci când funcțiile DepunereFormular, EditareFormular sau ResetareFormular rulează.
- Dacă nu apare nicio eroare, această proprietate este gol, și TipEroare este setat la TipEroare.Niciunul.
- Când este posibil, mesajul de eroare returnat va fi în limba utilizatorului. Unele mesaje de eroare provin direct de la sursa de date și este posibil să nu fie în limba utilizatorului.
TipEroare - Dacă apare o eroare când rulează DepunereFormular, tipul de eroare care a avut loc.
- Se aplică numai unui control Editați formularul.
- Această proprietate are aceeași enumerare ca și funcția Erori. Un control Editați formularul poate returna aceste valori:
TipEroare | Descriere |
---|---|
TipEroare.Conflict | Un alt utilizator a schimbat aceeași înregistrare, rezultând un conflict de schimbare. Executați funcția Reîmprospătare pentru a reîncărca înregistrarea și încercați din nou modificarea. |
TipEroare.Niciunul | Eroarea este de un tip necunoscut. |
TipEroare.Sinc | Sursa de date a raportat o eroare. Verificați proprietatea Eroare pentru mai multe informații. |
TipEroare.Validare | A fost detectată o problemă generală de validare. |
Articol - Înregistrarea din Sursa de date pe care utilizatorul o va afișa sau edita.
UltimaDepunere - Ultima înregistrare trimisă cu succes, inclusiv orice câmpuri generate de server.
- Această proprietate se aplică numai controlului Editați formularul.
- Dacă sursa de date generează sau calculează automat câmpuri, cum ar fi un câmp ID cu un număr unic, proprietatea UltimaDepunere va avea această nouă valoare după ce DepunereFormular rulează cu succes
- Valoarea acestei proprietăți este disponibilă în formula LaSucces.
Mod - Controlul este în modul Editare sau Nou.
Mod | Descriere |
---|---|
ModFormular.Editare | Utilizatorul poate edita o înregistrare folosind formularul. Valorile din cardurile formularului sunt pre-populate cu înregistrarea existentă, ca să o poată schimba utilizatorul. Dacă funcția DepunereFormular rulează cu succes, o înregistrare existentă este modificată. |
ModFormular.Nou | Utilizatorul poate crea o înregistrare folosind formularul. Valorile din controalele formularului sunt pre-populate cu valorile implicite pentru o înregistrare a sursei de date. Dacă funcția DepunereFormular rulează cu succes, se creează o înregistrare. |
ModFormular.Vizualizare | Utilizatorul poate vizualiza o înregistrare folosind formularul. Valorile din controalele formularului sunt pre-populate cu valorile implicite pentru o înregistrare a sursei de date. |
Formularul trece de la modul Nou la modul Editare când are loc oricare dintre aceste modificări:
- Formularul este trimis cu succes și se creează o înregistrare. Dacă galeria este setată să mute automat selecția la această nouă înregistrare, formularul va fi în modul Editare pentru înregistrarea creată, astfel încât utilizatorul să poată face modificări suplimentare.
- Funcția EditareFormular rulează.
- Funcția ResetareFormular rulează. De exemplu, utilizatorul ar putea selecta un buton Anulare care a fost configurat cu această funcție.
OnFailure - Acțiuni de efectuat atunci când o operațiune de date nu a reușit.
- Această proprietate se aplică numai controlului Editați formularul.
OnReset - Acțiuni de efectuat atunci când un control Editați formularul este resetat.
- Această proprietate se aplică numai controlului Editați formularul.
OnSuccess - Acțiuni de efectuat atunci când o operațiune de date a reușit.
- Această proprietate se aplică numai controlului Editați formularul.
Nesalvat - Adevărat dacă controlul Editați formularul conține modificări ale utilizatorului care nu au fost salvate.
- Această proprietate se aplică numai controlului Editați formularul.
- Utilizați această proprietate pentru a avertiza utilizatorul înainte de a pierde orice modificare nesalvată. Pentru a împiedica utilizatorul să selecteze o înregistrare diferită într-un control Gallery înainte de a salva modificările în înregistrarea curentă, setați proprietatea galeriei Dezactivat la Formular.Nesalvat și, de asemenea, dezactivați operațiile de actualizare.
Actualizări - Valorile pentru a scrie înapoi la sursa de date pentru o înregistrare încărcată într-un control de formular.
- Această proprietate se aplică numai controlului Editați formularul.
- Utilizați această proprietate pentru a extrage valorile câmpului de pe cardurile din control. Puteți utiliza aceste valori pentru a actualiza manual sursa de date cu un apel funcțional Patch sau o altă metodă expusă de o conexiune. Nu trebuie să utilizați această proprietate dacă utilizați funcția DepunereFormular.
- Această proprietate returnează o înregistrare de valori. De exemplu, dacă controlul formularului conține controale de card pentru câmpurile Nume și Cantitate și valorile proprietăților Update pentru aceste carduri returnează "Widget” și respectiv 10, atunci proprietatea Actualizări pentru controlul formularului va returna { Nume: "Widget”, Cantitate: 10 }.
Valid – Dacă un control Card sau Editare formular conține intrări valide, gata de a fi trimise la sursa de date.
Această proprietate se aplică numai controlului Editați formularul.
Proprietatea unui control Formular, Valid, agregă proprietățile Valid ale tuturor controalelor Card din formular. Proprietatea unui formular Valid este adevărat numai dacă datele din toate cardurile din formularul respectiv sunt valide; altfel, proprietatea formularului Valid este fals.
Pentru a activa un buton pentru a salva modificările numai atunci când datele dintr-un formular sunt valide, dar nu au fost încă trimise, setați proprietatea butonului ModAfișare la această formulă:
SubmitButton.DisplayMode = If(IsBlank( Form.Error ) || Form.Valid, DisplayMode.Edit, DisplayMode.Disabled)
Proprietăți suplimentare
BorderColor - Culoarea bordurii unui control.
BorderStyle - Dacă bordura unui control este de tip Continuu, Linii, Puncte sau Fără.
BorderThickness - Grosimea bordurii unui control.
Fill - Culoarea de fond a unui control.
Height - Distanța dintre marginile superioare și inferioare ale unui control.
Visible - Dacă un control este vizibil sau ascuns.
Width - Distanța dintre marginea din stânga și cea din dreapta a unui control.
X- Distanța dintre marginea din stânga a unui control și marginea din stânga a containerului părinte al acestuia (a ecranului, dacă nu există un container părinte).
Y - Distanța dintre marginea de sus a unui control și marginea de sus a containerului părinte al acestuia (a ecranului, dacă nu există un container părinte).
Mai multe informații
- Pentru o imagine de ansamblu a modului în care funcționează formularele, consultați Înțelegeți formularele de date.
- Consultați Power Fx referința formulei pentru EditForm.
Orientări privind accesibilitatea
Asistență pentru cititor de ecran
- Luați în considerare adăugarea unui titlu la formular utilizând o Label.
Notă
Ne puteți spune care preferințele dvs. lingvistice pentru documentație? Răspundeți la un chestionar scurt. (rețineți că acest chestionar este în limba engleză)
Chestionarul va dura aproximativ șapte minute. Nu sunt colectate date personale (angajament de respectare a confidențialității).