De functies Remove en RemoveIf

Van toepassing op: Canvas-apps Modelgestuurde apps Power Platform CLI

Hiermee verwijdert u records uit een gegevensbron.

Notitie

PAC CLI pac power-fx-opdrachten ondersteunen de functie RemoveIf niet.

Omschrijving

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 RemoveFlags.All gebruiken om alle exemplaren van een record te verwijderen. Anders wordt 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.

Delegering

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. Dit is mogelijk niet het volledige verhaal. Er kan tijdens het schrijven een waarschuwing verschijnen om u aan deze beperking te herinneren.

Ondersteuning voor delegering (experimenteel)

Ondersteuning voor delegering voor RemoveIf staat nu in Experimenteel voorbeeld (standaard UIT) voor gegevensbronnen die dit ondersteunen. Als een gegevensbron deze functie niet ondersteunt, stuurt Power Apps een query naar de server en haalt alle gegevens op die overeenkomen met de filterexpressie tot het maximum van 500, 2000 of de grootte van de gegevenspagina. Vervolgens wordt een verwijderbewerking uitgevoerd op elk van die records met individuele oproepen naar de server.

Syntaxis

Remove( DataSource, Record1 [, Record2, ... ] [, RemoveFlags.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.
  • RemoveFlags.All – Optioneel. In een verzameling kan een record meerdere keren voorkomen. U kunt het argument RemoveFlags.All toevoegen als u alle exemplaren van de record wilt verwijderen.

Remove( DataSource, Table [, RemoveFlags.All ] )

  • DataSource: vereist. De gegevensbron met de records die u wilt verwijderen.
  • Table: vereist. Een tabel met records die moeten worden verwijderd.
  • RemoveFlags.All – Optioneel. In een verzameling kan een record meerdere keren voorkomen. U kunt het argument RemoveFlags.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.
  • Condition(s): 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:

IJsvoorbeeld.

Een verzameling maken met voorbeeldrecords

Een verzameling maken met deze gegevens:

  1. Voeg een besturingselement Button in.

  2. Stel de eigenschap OnSelect van het besturingselement Button 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 Omschrijving Result
Remove( IceCream,
LookUp( IceCream, Flavor="Chocolate" ))
Hiermee verwijdert u de record Chocolate uit de gegevensbron. Resultaat met vanille en aardbei.

De gegevensbron IceCream is gewijzigd.
Remove( IceCream,
LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) )
Hiermee verwijdert u twee records uit de gegevensbron. Resultaat met alleen vanille.

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

De gegevensbron IceCream 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. Resultaat met chocolade en vanille.


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

De gegevensbron IceCream 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 tabel Contactpersonen in Microsoft Dataverse gebruikt 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 tabel Contactpersonen om voorbeeldgegevens te gebruiken:

    De tabel Contactpersonen selecteren om in de galerie weer te geven.

    De galerie toont items uit deze tabel:

    Galerie toegevoegd met de tabel Contactpersonen.

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

  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:

    Voorbeeld van app weergeven.

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

    Selecteer een record.

  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 tabel Contactpersonen om voorbeeldgegevens te gebruiken:

    De tabel Contactpersonen 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 ondubbelzinnigheidsoperator[@...] in dit voorbeeld gebruiken met voorbeeldgegevens die gebruikmaken van de tabel Contactpersonen om conflicten met een één-op-veel-relatie te voorkomen. Als u gegevensbronnen gebruikt, zoals een -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:

    Verwijderd record.

  12. Sluit de app-preview.