De functies Remove en RemoveIf in Power Apps

Hiermee verwijdert u records uit een gegevensbron.

Beschrijving

De functie Remove

Gebruik de functie Remove als u een of meer specifieke records uit een gegevensbron wilt verwijderen.

Voor verzamelings moet de hele record overeenkomen. U kunt het argument All gebruiken om alle exemplaren van een record te verwijderen. Anders wordt er slechts één exemplaar van de record verwijderd.

De functie RemoveIf

Gebruik de functie RemoveIf om een of meer records te verwijderen op basis van een voorwaarde of een reeks voorwaarden. Elke voorwaarde kan elke formule zijn die resulteert in true of false en kan verwijzen naar kolommen in de gegevensbron, waarbij de naam van de kolom wordt gebruikt. Elke voorwaarde wordt afzonderlijk geëvalueerd voor elke record en de record wordt verwijderd als alle voorwaarden true zijn.

Remove en RemoveIf retourneren de gewijzigde gegevensbron als een tabel. U kunt beide functies alleen in gedragsformules gebruiken.

U kunt ook de functie Clear gebruiken om alle records uit een verzameling te verwijderen.

Overdracht

Als deze functies worden gebruikt met een gegevensbron, kunnen ze niet worden overgedragen. Alleen het eerste deel van de gegevensbron wordt opgehaald en vervolgens wordt de functie toegepast. Het resultaat is mogelijk niet volledig. Tijdens het schrijven ziet u mogelijk een waarschuwing om u te herinneren aan deze beperking en om u erop te wijzen dat u waar mogelijk kunt overschakelen naar alternatieven met overdrachtmogelijkheden. Zie het overdrachtoverzicht voor meer informatie.

Syntaxis

Remove( DataSource, Record1 [, Record2, ... ] [, All ] )

  • DataSource - Vereist. De gegevensbron met de record of records die u wilt verwijderen.
  • Record(s): vereist. De record of records die moeten worden verwijderd.
  • All - Optioneel. In een verzameling kan een record meerdere keren voorkomen. U kunt het argument All toevoegen als u alle exemplaren van de record wilt verwijderen.

Remove( DataSource, Tabel [, All ] )

  • DataSource - Vereist. De gegevensbron met de records die u wilt verwijderen.
  • Tabel: vereist. Een tabel met records die moeten worden verwijderd.
  • All - Optioneel. In een verzameling kan een record meerdere keren voorkomen. U kunt het argument All toevoegen als u alle exemplaren van de record wilt verwijderen.

RemoveIf( DataSource, Voorwaarde [, ... ] )

  • DataSource - Vereist. De gegevensbron met de record of records die u wilt verwijderen.
  • Voorwaarde(n) - vereist. Een formule die resulteert in true voor de records die moeten worden verwijderd. U kunt kolomnamen uit de DataSource gebruiken in de formule. Als u meerdere Voorwaarden opgeeft, moeten alle voorwaarden resulteren in true voor de record of records die moeten worden verwijderd.

Voorbeelden - enkele formules

In deze voorbeelden verwijdert u een of meer records in een gegevensbron met de naam IceCream en die begint met de gegevens in deze tabel:

Een verzameling maken met voorbeeldrecords

Een verzameling maken met deze gegevens:

  1. Voeg een besturingselement Button in.

  2. Stel de eigenschap OnSelect van de knop in op de onderstaande formule:

    ClearCollect( IceCream,
                  { ID: 1, Flavor: "Chocolate",  Quantity: 100 },
                  { ID: 2, Flavor: "Vanilla",    Quantity: 200 },
                  { ID: 3, Flavor: "Strawberry", Quantity: 300 }
    )
    
  3. Selecteer de knop terwijl u de Alt-toets ingedrukt houdt:

Voorbeeldrecords uit een verzameling verwijderen met een formule

Formule Beschrijving Resultaat
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) )
Hiermee verwijdert u de record Chocolate uit de gegevensbron.

De gegevensbron IJs is gewijzigd.
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) First( Filter( IceCream, Flavor="Strawberry" ) ) )
Hiermee verwijdert u twee records uit de gegevensbron.

De gegevensbron IJs is gewijzigd.
RemoveIf( IceCream, Quantity > 150 ) Hiermee verwijdert u records waarvan Quantity groter is dan 150.

De gegevensbron IJs is gewijzigd.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) Hiermee verwijdert u records waarvan Quantity groter is dan 150 en Flavor begint met een S.


De gegevensbron IJs is gewijzigd.
RemoveIf( IceCream, true ) Hiermee verwijdert u alle records uit de gegevensbron.

De gegevensbron IJs is gewijzigd.

In dit voorbeeld gebruikt u een besturingselement Gallery om de records in een tabel weer te geven. Vervolgens gebruikt u de functie Remove om een specifiek item te verwijderen.

Voorbereiden voor voorbeeldgegevens

In dit voorbeeld wordt de entiteit Contacts gebruikt in Microsoft Dataverse die beschikbaar is met de voorbeeldapps en -gegevens. U kunt voorbeeldapps en -gegevens gebruiken wanneer u een omgeving maakt. U kunt in plaats daarvan ook een andere gegevensbron gebruiken.

In dit voorbeeld verwijdert u een item met een knop buiten de galerie.

  1. Maak een nieuwe lege canvas-app met Telefoonindeling.

    Een lege canvas-app met de telefoonindeling

  2. Selecteer Insert in het linkerdeelvenster.

  3. Selecteer Verticale galerie.
    Er wordt een besturingselement Gallery aan uw scherm toegevoegd.

    Het taakvenster Insert gebruiken om het besturingselement Verticale galerie toe te voegen

  4. U wordt gevraagd om een gegevensbron te selecteren, waar u een gegevensbron kunt selecteren uit de beschikbare gegevensbronnen.
    Selecteer bijvoorbeeld de entiteit Contacts als voorbeeldgegevens:

    De entiteit Contacts selecteren om in de galerie weer te geven

    In de galerie worden items van deze entiteit weergegeven:

    De toegevoegde galerie met de entiteit Contacts

  5. Voeg een besturingselement van het type Button in vanuit het linkerdeelvenster:

    Het taakvenster Insert gebruiken om een besturingselement Button toe te voegen

  6. Verplaats de toegevoegde knop onder de items in de galerie:

    Knop Move

  7. Verander de teksteigenschap van de knop in Record verwijderen. U kunt ook een andere tekst gebruiken:

    Knop Rename

  8. Stel de eigenschap OnSelect van de knop in op de volgende formule:

    Remove( Contacts, Gallery1.Selected )
    

    De eigenschap OnSelect van het besturingselement Button instellen

    Met het besturingselement Gallery wordt het momenteel geselecteerde record beschikbaar gemaakt met de eigenschap Selected. De functie Remove verwijst voor het verwijderen naar deze geselecteerde record.

  9. Bekijk een voorbeeld van de app met de knop Play in de rechterbovenhoek of druk op F5 op het toetsenbord:

    Een preview van de app bekijken

  10. Selecteer de record die u wilt verwijderen, bijvoorbeeld de record van Nancy in dit voorbeeld:

    Een record selecteren

  11. Selecteer Record verwijderen:

    Gallery met contacten, maar nu zonder de record van Nancy

    Als u de knop selecteert, wordt de geselecteerde record verwijderd (in dit voorbeeld Nancy's record).

  12. Sluit de app-preview.

    Tip

    U kunt ook ander gedrag met de Alt-toets gebruiken in plaats van het voorbeeld van de app met de knop Play of met F5.

In dit voorbeeld verwijdert u een item met een pictogram dat in de galerie is geplaatst.

Een verzameling maken met voorbeeldgegevens

Als u al voorbeeldgegevens hebt voorbereid, slaat u deze stap over en gaat u naar Een prullenbakpictogram in een galerie.

  1. Voeg een besturingselement van het type Button toe aan het scherm.

  2. Stel de eigenschap OnSelect in op de volgende formule:

    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. Selecteer de knop terwijl u de Alt-toets ingedrukt houdt.

Er wordt een voorbeeldverzameling gemaakt die u in het volgende voorbeeld kunt gebruiken.

  1. Maak een nieuwe lege canvas-app met Telefoonindeling.

    Een lege canvas-app met de telefoonindeling

  2. Selecteer Insert in het linkerdeelvenster.

  3. Selecteer Verticale galerie.
    Er wordt een besturingselement Gallery aan uw scherm toegevoegd.

    Het taakvenster Insert gebruiken om het besturingselement Verticale galerie toe te voegen

  4. U wordt gevraagd om een gegevensbron te selecteren, waar u een gegevensbron kunt selecteren uit de beschikbare gegevensbronnen.
    Selecteer bijvoorbeeld de entiteit Contacts als voorbeeldgegevens:

    De entiteit Contacts selecteren om in de galerie weer te geven

    Als u een verzameling hebt gemaakt, selecteer in plaats daarvan uw verzameling:

    Verzameling voorbeeldcontacten

  5. Selecteer een besturingselement in het bovenste item in de galerie.

    U moet deze stap volgen voordat u naar de volgende stap gaat om ervoor te zorgen dat er bij de volgende stap een item in de sjabloon van de galerie wordt ingevoegd en niet buiten de galerie.

    De bovenste record in een galerie selecteren

  6. Selecteer Add icon in het linkerdeelvenster.

    Het taakvenster Insert gebruiken om het besturingselement Icon toe te voegen

    Notitie

    Met Add icon voegt u aan de linkerkant van de galerie een +-pictogram toe dat voor elk item in de galerie wordt gerepliceerd.

  7. Verplaats in het bovenste item het pictogram naar de rechterkant van het scherm.

    Icon verplaatsen

  8. Selecteer de eigenschap Icon voor het pictogram en stel de eigenschap in op de volgende formule om de afbeelding van het pictogram te wijzigen in een prullenbakpictogram:

    Icon.Trash
    

    Notitie

    Het voorvoegsel Icon. wordt alleen weergegeven wanneer u de formule actief bewerkt.

    Het pictogram wijzigen in het prullenbakpictogram

  9. Stel de eigenschap OnSelect in op de volgende formule:

    Remove( [@Contacts], ThisItem )
    

    Notitie

    U moet de algemene ondubbelzinnigheidoperator [@...] in dit voorbeeld gebruiken met de entiteit Contacts om een conflict met een een-op-veel-relatie te voorkomen. Als u gegevensbronnen gebruikt, zoals een SharePoint-lijst of een SQL Server-tabel, hoeft u de algemene ondubbelzinnigheidsoperator niet te gebruiken.

    OnSelect voor het prullenbakpictogram

  10. Bekijk een voorbeeld van de app met de knop Play in de rechterbovenhoek of druk op F5 op het toetsenbord.

  11. Selecteer bijvoorbeeld het prullenbakpictogram naast de record Maria:

    Gallery waaruit een van de contacten is verwijderd

    De record wordt verwijderd:

    Verwijderde record

  12. Sluit de app-preview.