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 RemoveIf -functie 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 worden alle gegevens opgehaald die overeenkomen met de filterexpressie, tot een maximum van 500, 2000 of de gegevenspaginagrootte. Vervolgens wordt een verwijderbewerking uitgevoerd op elk van die records met individuele oproepen naar de server.
Syntaxis
Verwijder( Gegevensbron, Record1 [, Record2, ... ] [, Vlaggen verwijderen.Alles ] )
- DataSource – Verplicht. De gegevensbron met de record of records die u wilt verwijderen.
- Records – Verplicht. 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.
Verwijder( Gegevensbron, Tabel [, VerwijderVlaggen.Alles ] )
- DataSource – Verplicht. De gegevensbron met de records die u wilt verwijderen.
- Tabel – 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.
VerwijderenAls( Gegevensbron, Voorwaarde [, ... ] )
- DataSource – Verplicht. De gegevensbron met de record of records die u wilt verwijderen.
- Voorwaarden – Verplicht. 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:
Voeg een besturingselement Button in.
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 } )
Selecteer de knop terwijl u de Alt-toets ingedrukt houdt:
Voorbeeldrecords uit een verzameling verwijderen met een formule
Formule | Omschrijving | Result |
---|---|---|
Verwijder(IJs, LookUp( IceCream, Flavor="Chocolate" )) |
Hiermee verwijdert u de record Chocolate uit de gegevensbron. | De gegevensbron IceCream is gewijzigd. |
Verwijder(IJs, LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
Hiermee verwijdert u twee records uit de gegevensbron. | De gegevensbron IceCream is gewijzigd. |
RemoveIf(IJs, hoeveelheid > 150 ) | Hiermee verwijdert u records waarvan Quantity groter is dan 150. | De gegevensbron IceCream is gewijzigd. |
RemoveIf( IJs, hoeveelheid > 150, Left( Smaak, 1 ) = "S" ) | Hiermee verwijdert u records waarvan Quantity groter is dan 150 en Flavor begint met een S. | De gegevensbron IceCream is gewijzigd. |
RemoveIf(IJs, true) | Hiermee verwijdert u alle records uit de gegevensbron. | De gegevensbron IceCream is gewijzigd. |
Voorbeelden - knop voor verwijderen buiten een galerie
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.
Knop Verwijderen buiten een galerie
In dit voorbeeld verwijdert u een item met een knop buiten de galerie.
Maak een nieuwe lege canvas-app met Telefoonindeling.
Selecteer Insert in het linkerdeelvenster.
Selecteer Verticale galerie.
Er wordt een besturingselement Gallery aan uw scherm toegevoegd.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 galerie toont items uit deze tabel:
Voeg een besturingselement van het type Button in vanuit het linkerdeelvenster:
Verplaats de toegevoegde knop onder de items in de galerie:
Verander de teksteigenschap van de knop in Record verwijderen. U kunt ook een andere tekst gebruiken:
Stel de eigenschap OnSelect van de knop in op de volgende formule:
Remove( Contacts, Gallery1.Selected )
Met het besturingselement Gallery wordt het momenteel geselecteerde record beschikbaar gemaakt met de eigenschap Selected. De functie verwijderen verwijst naar deze geselecteerde record om deze te verwijderen.
Bekijk een voorbeeld van de app met de knop Play in de rechterbovenhoek of druk op F5 op het toetsenbord:
Selecteer de record die u wilt verwijderen, bijvoorbeeld de record van Nancy in dit voorbeeld:
Selecteer Record verwijderen:
Als u de knop selecteert, wordt de geselecteerde record verwijderd (in dit voorbeeld Nancy's record).
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.
Voorbeelden - prullenbakpictogram in een galerie
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.
Voeg een besturingselement van het type Button toe aan het scherm.
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" } )
Selecteer de knop terwijl u de Alt-toets ingedrukt houdt.
Er wordt een voorbeeldverzameling gemaakt die u in het volgende voorbeeld kunt gebruiken.
Het prullenbakpictogram in een galerie
Maak een nieuwe lege canvas-app met Telefoonindeling.
Selecteer Insert in het linkerdeelvenster.
Selecteer Verticale galerie.
Er wordt een besturingselement Gallery aan uw scherm toegevoegd.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:Als u een verzameling hebt gemaakt, selecteer in plaats daarvan uw verzameling:
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.
Selecteer Add icon in het linkerdeelvenster.
Notitie
Met Icoon toevoegen voegt u een + pictogram in aan de linkerkant van de galerij, dat voor elk item in de galerij wordt gerepliceerd.
Verplaats in het bovenste item het pictogram naar de rechterkant van het scherm.
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.
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 globale ondubbelzinnigheidsoperator niet te gebruiken.
Bekijk een voorbeeld van de app met de knop Play in de rechterbovenhoek of druk op F5 op het toetsenbord.
Selecteer bijvoorbeeld het prullenbakpictogram naast de record Maria:
De record wordt verwijderd:
Sluit de app-preview.