Funcțiile Remove și RemoveIf

Se aplică pentru: Aplicații Canvas 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.

Remove și RemoveIf returnează sursa de date modificată ca un 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

Când sunt utilizate cu un sursă de date, aceste funcții nu pot fi delegate. Doar prima porțiune a sursei de date va fi regăsită, apoi se va aplica funcția. Este posibil să nu reprezinte povestea completă. Este posibil să apară un avertisment în momentul creării pentru a vă aminti această limitare.

Sprijin pentru delegare (experimental)

Suportul de delegare pentru RemoveIf este acum în Experimental Preview (dezactivat implicit) pentru sursele de date care îl acceptă. Dacă un sursă de date nu acceptă această caracteristică, Power Apps va trimite o interogare la server și va prelua toate datele care se potrivesc cu expresia filtrului până la maximum 500, 2000 sau dimensiunea paginii de date. Apoi, va efectua o operațiune de ștergere pe fiecare dintre acele înregistrări cu apeluri individuale 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.
  • Record(s) – 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.
  • Table – 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.
  • Condition(s) – 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:

Exemplu de înghețată.

Creați o colecție cu înregistrări eșantion

Pentru a crea o colecție cu aceste date:

  1. Inserați un control Buton.

  2. 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 }
    )
    
  3. 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
Remove( IceCream,
Căutare (Înghețată, Aromă="Ciocolată"))
Elimină înregistrarea Ciocolată din sursa de date. Rezultat cu Vanilie si Capsuni.

Sursa de date IceCream a fost modificată.
Remove( IceCream,
Căutare(Înghețată, Aromă="Ciocolată"), Căutare(Înghețată, Aromă="Capsuni"))
Elimină două înregistrări din sursa de date. Rezultat doar cu vanilie.

Sursa de date IceCream a fost modificată.
RemoveIf( IceCream, Quantity > 150 ) Elimină înregistrările care au o cantitate mai mare decât 150. Rezultat doar cu ciocolata.

Sursa de date IceCream a fost modificată.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) Elimină înregistrările care au o Cantitate mai mare de 150 și Aromă începe cu un S. Rezultat cu Ciocolata si Vanilie.


Sursa de date IceCream a fost modificată.
RemoveIf( IceCream, true ) Elimină toate înregistrările din sursa de date. Rezultat fără înghețată.

Sursa de date IceCream a fost modificată.

Î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.

În acest exemplu, veți elimina un element folosind un buton care este în afara galeriei.

  1. Creează o nouă aplicație proiectată pe pânză goală folosind un aspect al telefonului.

    O aplicație proiectată pe pânză goală folosind aspectul telefonului.

  2. Selectați Inserare din panoul de navigare din stânga.

  3. Selectați Galerie verticală.
    Un control Gallery este adăugat pe ecran.

    Folosind panoul de instrumente Inserare pentru a adăuga un control vertical de galerie.

  4. 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:

    Selectarea tabelului Contacte pentru a fi afișat în galerie.

    Galeria prezintă elemente din acest tabel:

    A fost adăugată galeria afișând tabelul Contacte.

  5. Introduceți un control Buton din panoul din stânga:

    Folosind panoul de instrumente Inserare pentru a adăuga un control buton.

  6. Mutați butonul adăugat sub elementele din galerie:

    Buton Mutare.

  7. Actualizați proprietatea textului butonului la Eliminați înregistrarea. În plus, puteți să utilizați textul ales de dvs.:

    Redenumiți butonul.

  8. Setați proprietatea OnSelect pentru acest control buton la următoarea formulă:

    Remove( Contacts, Gallery1.Selected )
    

    Setarea proprietății OnSelect a controlului butonului.

    Controlul galeriei face înregistrarea selectată în prezent disponibilă utilizând proprietatea Selectat. Funcția Remove se referă la înregistrarea selectată pentru a o elimina.

  9. Previzualizați aplicația folosind butonul Play din dreapta sus sau apăsați F5 pe tastatură:

    Aplicație previzualizare.

  10. Selectați o înregistrare de eliminat, cum ar fi înregistrarea lui Nancy în acest exemplu:

    Selectaţi o înregistrare.

  11. Selectați Eliminați înregistrarea:

    Galerie de contacte, acum fără înregistrarea Nancy care a fost eliminată.

    Selectând butonul elimină înregistrarea selectată (în acest exemplu, înregistrarea lui Nancy).

  12. Î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.

Î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.

  1. Adăugați un control Buton la ecran.

  2. 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" }
    )
    
  3. 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.

  1. Creează o nouă aplicație proiectată pe pânză goală folosind un aspect al telefonului.

    O aplicație proiectată pe pânză goală folosind aspectul telefonului.

  2. Selectați Inserare din panoul de navigare din stânga.

  3. Selectați Galerie verticală.
    Un control Gallery este adăugat pe ecran.

    Folosind panoul de instrumente Inserare pentru a adăuga un control vertical de galerie.

  4. 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:

    Selectarea tabelului Contacte pentru a fi afișat în galerie.

    Dacă ați creat o colecție, selectați în schimb colecția:

    Colecție de persoane de contact eșantion.

  5. 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 înregistrarea de top într-o galerie.

  6. Selectați Adăugați pictograma din panoul din stânga.

    Folosind panoul de instrumente Inserare pentru a adăuga un control pictogramă.

    Notă

    Adăugați pictograma introduce o pictogramă + în partea stângă a galeriei, replicată pentru fiecare articol din galerie.

  7. În elementul de sus, mutați pictograma în partea dreaptă a ecranului.

    Pictograma Mutare.

  8. 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.

    Modificarea pictogramei în pictograma coșului de gunoi.

  9. 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 să utilizați Operatorul de dezambiguizare globală.

    OnSelect pentru pictograma coș de gunoi.

  10. Previzualizați aplicația folosind butonul Play din dreapta sus sau apăsați F5 pe tastatură.

  11. Selectați pictograma coșului de gunoi de lângă o înregistrare, de exemplu a Mariei:

    Galerie cu una dintre persoanele de contact eliminate.

    Înregistrarea este ștearsă:

    Înregistrare ștearsă.

  12. Închideți previzualizarea aplicației.