Funcțiile Remove și RemoveIf
Se aplică pentru: planșă de lucru apps Aplicații bazate pe model Power Platform CLI
Elimină înregistrările dintr-o sursă de date.
Notă
Comenzile PAC CLI pac power-fx nu acceptă funcția RemoveIf .
Descriere
Ștergeți funcția
Folosiți funcția Remove pentru a elimina o înregistrare sau mai multe înregistrări specifice dintr-o sursă de date.
Pentru colecții, întreaga înregistrare trebuie să se potrivească. Puteți utiliza argumentul RemoveFlags.All pentru a elimina toate copiile unei înregistrări; în caz contrar, o singură copie a înregistrării este eliminată.
Funcția RemoveIf
Folosiți funcția RemoveIf pentru a elimina o înregistrare sau mai multe înregistrări bazate pe o condiție sau pe un set de condiții. Fiecare condiție poate fi orice formulă care generează un rezultat true sau false și poate face referire la coloanele sursei de date după nume. Fiecare condiție este evaluată individual pentru fiecare înregistrare, iar înregistrarea este eliminată dacă toate condițiile se evaluează la true.
Eliminați și RemoveIf returnați sursă de date modificat ca tabel. Puteți să utilizați ambele funcții numai în formule comportamentale.
Puteți utiliza, de asemenea, funcția Clear pentru a elimina toate înregistrările dintr-o colecție.
Delegare
RemoveIf este acceptat de doar câteva surse de date. Pentru sursele de date care nu acceptă această funcție, Power Apps va interoga serverul și va prelua toate datele care se potrivesc cu expresia filtrului, până la maximum 500 sau 2000 de înregistrări sau dimensiunea paginii de date. Ulterior, va șterge fiecare dintre acele înregistrări individual, făcând apeluri separate către server.
Sintaxă
Eliminați( DataSource, Record1 [, Record2 , ... ] [, RemoveFlags.All ] )
- DataSource – Obligatoriu. Sursa de date care conține înregistrarea sau înregistrările pe care doriți să le eliminați.
- Înregistrări – Obligatoriu. Înregistrarea sau înregistrările care trebuie eliminate.
- RemoveFlags.All – Opțional. Într-o colecție, aceeași înregistrare poate apărea de mai multe ori. Puteți adăuga argumentul RemoveFlags.All pentru a elimina toate copiile înregistrării.
Eliminați( DataSource, Tabel [, RemoveFlags .Toate ] )
- DataSource – Obligatoriu. Sursa de date care conține înregistrările pe care doriți să le eliminați.
- Tabel – Obligatoriu. Un tabel de înregistrări de eliminat.
- RemoveFlags.All – Opțional. Într-o colecție, aceeași înregistrare poate apărea de mai multe ori. Puteți adăuga argumentul RemoveFlags.All pentru a elimina toate copiile înregistrării.
RemoveIf( DataSource, Condition [, ... ] )
- DataSource – Obligatoriu. Sursa de date care conține înregistrarea sau înregistrările pe care doriți să le eliminați.
- Condiții – Obligatoriu. O formulă care generează evaluarea true pentru înregistrarea sau înregistrările pe care doriți să le eliminați. Puteți utiliza numele coloanelor din DataSource în formulă. Dacă specificați mai multe Condiții, toate trebuie să evalueze la true pentru ca înregistrarea sau înregistrările să fie eliminate.
Exemple - formule individuale
În aceste exemple, veți elimina o înregistrare sau mai multe înregistrări dintr-o sursă de date numită Înghețată care începe cu datele din acest tabel:
Creați o colecție cu înregistrări eșantion
Pentru a crea o colecție cu aceste date:
Inserați un control Buton.
Setați proprietatea OnSelect a controlului la formula de mai jos:
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
Selectați butonul în timp ce țineți apăsată tasta Alt:
Eliminați înregistrările eșantion din colecție folosind o formulă
Formula | Descriere | Rezultat |
---|---|---|
Eliminați (înghețată, Căutare (Înghețată, Aromă="Ciocolată")) |
Elimină înregistrarea Ciocolată din sursa de date. | Sursa de date IceCream a fost modificată. |
Eliminați (înghețată, Căutare(Înghețată, Aromă="Ciocolată"), Căutare(Înghețată, Aromă="Capsuni")) |
Elimină două înregistrări din sursa de date. | Sursa de date IceCream a fost modificată. |
RemoveIf( Înghețată, Cantitate > 150) | Elimină înregistrările care au o cantitate mai mare decât 150. | Sursa de date IceCream a fost modificată. |
RemoveIf( Înghețată, Cantitate > 150, Stânga( Aromă, 1 ) = „S” ) | Elimină înregistrările care au o Cantitate mai mare de 150 și Aromă începe cu un S. | Sursa de date IceCream a fost modificată. |
RemoveIf( Înghețată, adevărat) | Elimină toate înregistrările din sursa de date. | Sursa de date IceCream a fost modificată. |
Exemple - eliminați butonul din afara unei galerii
În acest exemplu, veți utiliza un control Gallery pentru a lista înregistrările într-un tabel. Și apoi folosiți funcția Remove pentru a elimina selectiv un element.
Pregătiți-vă pentru datele eșantion
Acest exemplu folosește tabelul Contacte în Microsoft Dataverse disponibil cu eșantion de aplicații și date. Puteți implementa date și aplicații eșantion când creați un mediu. De asemenea, puteți utiliza orice altă sursă de date.
Eliminați butonul din afara unei galerii
În acest exemplu, veți elimina un element folosind un buton care este în afara galeriei.
Creează o nouă aplicație proiectată pe pânză goală folosind un aspect al telefonului.
Selectați Inserare din panoul de navigare din stânga.
Selectați Galerie verticală.
Un control Gallery este adăugat pe ecran.Vi se solicită să selectați o sursă de date unde puteți selecta o sursă de date din sursele de date disponibile.
De exemplu, selectați tabelul Contacte pentru a folosi date eșantion:Galeria prezintă elemente din acest tabel:
Introduceți un control Buton din panoul din stânga:
Mutați butonul adăugat sub elementele din galerie:
Actualizați proprietatea textului butonului la Eliminați înregistrarea. În plus, puteți să utilizați textul ales de dvs.:
Setați proprietatea OnSelect pentru acest control buton la următoarea formulă:
Remove( Contacts, Gallery1.Selected )
Controlul galeriei face înregistrarea selectată în prezent disponibilă utilizând proprietatea Selectat. Funcția Elimina se referă la această înregistrare selectată pentru a o elimina.
Previzualizați aplicația folosind butonul Play din dreapta sus sau apăsați F5 pe tastatură:
Selectați o înregistrare de eliminat, cum ar fi înregistrarea lui Nancy în acest exemplu:
Selectați Eliminați înregistrarea:
Selectând butonul elimină înregistrarea selectată (în acest exemplu, înregistrarea lui Nancy).
Închideți previzualizarea aplicației.
Bacșiș
Puteți utiliza un comportament alternativ cu Alt key în loc să utilizați previzualizarea aplicației cu butonul Play sau F5.
Exemple - pictograma coșului de gunoi în interiorul unei galerii
În acest exemplu, veți elimina un element folosind o pictogramă aflată în afara galeriei.
Creați o colecție cu date eșantion
Dacă aveți deja date eșantion pregătite, săriți acest pas și treceți la Pictograma coșului de gunoi din interiorul unei galerii.
Adăugați un control Buton la ecran.
Setați proprietatea OnSelect la următoarea formulă:
ClearCollect( SampleContacts, { 'Full Name': "Yvonne McKay (sample)", 'Primary Email': "someone_a@example.com" }, { 'Full Name': "Susanna Stubberod (sample)", 'Primary Email': "someone_b@example.com" }, { 'Full Name': "Nancy Anderson (sample)", 'Primary Email': "someone_c@example.com" }, { 'Full Name': "Maria Campbell (sample)", 'Primary Email': "someone_d@example.com" }, { 'Full Name': "Robert Lyon (sample)", 'Primary Email': "someone_e@example.com" }, { 'Full Name': "Paul Cannon (sample)", 'Primary Email': "someone_f@example.com" }, { 'Full Name': "Rene Valdes (sample)", 'Primary Email': "someone_g@example.com" } )
Selectați butonul în timp ce țineți apăsată tasta Alt.
Colecția eșantion este creată și o puteți folosi în următorul exemplu.
Pictograma coșului de gunoi în interiorul unei galerii
Creează o nouă aplicație proiectată pe pânză goală folosind un aspect al telefonului.
Selectați Inserare din panoul de navigare din stânga.
Selectați Galerie verticală.
Un control Gallery este adăugat pe ecran.Vi se solicită să selectați o sursă de date unde puteți selecta o sursă de date din sursele de date disponibile.
De exemplu, selectați tabelul Contacte pentru a folosi date eșantion:Dacă ați creat o colecție, selectați în schimb colecția:
Selectați un control în elementul superior din galerie.
Pentru a vă asigura că pasul următor introduce elementul în șablonul galeriei și nu în afara galeriei, asigurați-vă că urmați acest pas înainte de a trece la pasul următor.
Selectați Adăugați pictograma din panoul din stânga.
Notă
Adăugați pictograma inserează o pictogramă + în partea stângă a galeriei, replicată pentru fiecare articol din galerie.
În elementul de sus, mutați pictograma în partea dreaptă a ecranului.
Selectează proprietatea Pictogramă pentru pictogramă și setați-o la următoarea formulă pentru a actualiza imaginea pictogramei ca pictogramă coș de gunoi:
Icon.Trash
Notă
Prefixul Icon. este afișat doar atunci când editați activ formula.
Setați proprietatea OnSelect la următoarea formulă:
Remove( [@Contacts], ThisItem )
Notă
Trebuie să folosiți operator global de dezambiguizare[@...] în acest exemplu cu date eșantion care utilizează tabelul Contacte pentru a evita conflictul cu o relație Unul la mai mulți. Dacă utilizați surse de date, cum ar fi o listă sau un tabel SQL Server, nu este necesară utilizarea operatorului global de dezambiguizare .
Previzualizați aplicația folosind butonul Play din dreapta sus sau apăsați F5 pe tastatură.
Selectați pictograma coșului de gunoi de lângă o înregistrare, de exemplu a Mariei:
Înregistrarea este ștearsă:
Închideți previzualizarea aplicației.