Funktionerne Remove og RemoveIf
Gælder for: Lærredapps Modelbaserede apps Power Platform CLI
Fjerner poster fra en datakilde.
Bemærk
PAC CLI pac power-fx-kommandoer understøtter ikke funktionen RemoveIf .
Description
Funktionen Remove
Brug funktionen Remove til at fjerne en eller flere bestemte poster fra en datakilde.
I samlinger skal hele posten matcher. Du kan bruge argumentet RemoveFlags.All til at fjerne alle kopier af en post, ellers fjernes kun én kopi af posten.
Funktionen RemoveIf
Brug funktionen RemoveIf til at fjerne en eller flere poster baseret på en betingelse eller et sæt af betingelser. Hver betingelse kan være en formel, der resulterer i sand eller falsk og kan henvise til kolonner i datakilden ved navn. Hver betingelse evalueres individuelt for hver post, og posten fjernes, hvis alle betingelser evalueres til sand.
Fjern og FjernHvis returnerer den ændrede datakilde som en tabel. Du kan kun bruge begge funktioner i funktionsformler.
Du kan også bruge funktionen Clear til at fjerne alle poster i en samling.
Delegering
Disse funktioner kan ikke delegeres, når de bruges med en datakilde. Kun den første del af datakilden hentes, og derefter vil funktionen blive anvendt. Dette er muligvis ikke hele historien. Der vises muligvis en advarsel under oprettelse for at minde dig om denne begrænsning.
Understøttelse af uddelegering (eksperimentel)
Delegeringssupport til RemoveIf findes nu i eksperimentel forhåndsversion (som standard slået FRA) for datakilder, der understøtter det. Hvis en datakilde ikke understøtter denne funktion, sender Power Apps en forespørgsel til serveren og henter alle data, der svarer til filterudtrykket, op til maksimum 500, 2000 eller datasidens størrelse. Derefter udføres der en slettehandling på hver af disse poster med individuelle kald til serveren.
Syntaks
Remove( DataSource,Record1 [, Record2; ... ] [, RemoveFlags.All ] )
- DataSource – Påkrævet. Datakilden, der indeholder den eller de poster, du vil fjerne.
- Poster – Påkrævet. Den eller de poster, der skal fjernes.
- RemoveFlags.All – Valgfrit. Den samme post kan vises mere end én gang i en samling. Du kan tilføje argumentet RemoveFlags.All for at fjerne alle kopier af posten.
Remove( DataSource,Tabel [, RemoveFlags.All ] )
- DataSource – Påkrævet. Datakilden, der indeholder de poster, du vil fjerne.
- Tabel – Påkrævet. En tabel med poster, der skal fjernes.
- RemoveFlags.All – Valgfrit. Den samme post kan vises mere end én gang i en samling. Du kan tilføje argumentet RemoveFlags.All for at fjerne alle kopier af posten.
RemoveIf( DataSource,Condition [, ... ] )
- DataSource – Påkrævet. Datakilden, der indeholder den eller de poster, du vil fjerne.
- Betingelser – Påkrævet. En formel, der evalueres til sand for den eller de poster, der skal fjernes. Du kan bruge kolonnenavne fra DataSource i formlen. Hvis du angiver flere betingelser, skal alle evalueres til sand for den eller de poster, der skal fjernes.
Eksempler – enkelte formler
I disse eksempler skal du fjerne en eller flere poster i en datakilde, der hedder IceCream, og som starter med dataene i denne tabel:
Oprette en samling med eksempelposter
Sådan opretter du en samling med disse data:
Indsæt et Button-kontrolelement.
Angiv knapkontrolelementets OnSelect-egenskab til nedenstående formel:
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
Vælg knappen, mens du holder Alt-tasten nede:
Fjerne eksempelposter fra en samling ved hjælp af en formel
Formula | Beskrivelse | Result |
---|---|---|
Fjern (IceCream, LookUp( IceCream, Flavor="Chocolate" )) |
Fjerner posten Chocolate fra datakilden. | Datakilden IceCream er blevet ændret. |
Fjern (IceCream, LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
Fjerner to poster fra datakilden. | Datakilden IceCream er blevet ændret. |
RemoveIf( IceCream, Mængde > 150 ) | Fjerner poster, der har et Quantity, der er større end 150. | Datakilden IceCream er blevet ændret. |
RemoveIf( IceCream, Mængde > 150, Left( Flavor, 1 ) = "S" ) | Fjerner poster, der har et Quantity, der er større end 150, og en Flavor, der starter med S. | Datakilden IceCream er blevet ændret. |
RemoveIf( IceCream, true ) | Fjerner alle poster fra datakilden. | Datakilden IceCream er blevet ændret. |
Eksempler – knappen Fjern uden for et galleri
I dette eksempel skal du bruge et Gallery-kontrolelement til at få vist posterne i en tabel. Brug derefter funktionen Remove, hvis du vil fjerne bestemte poster.
Klargøre til eksempeldata
I dette eksempel bruges tabellen Kontakter i Microsoft Dataverse, der er tilgængelig sammen med eksempelapps og -data. Du kan installere eksempelapps og -data, når du opretter et miljø . Du kan også bruge enhver anden datakilde i stedet.
Knappen Fjern uden for et galleri
I dette eksempel skal du fjerne et element ved hjælp af en knap, der er uden for galleriet.
Opret en ny tom lærredapp ved hjælp af et telefonlayout.
Vælg Indsæt fra den venstre rude.
Vælg Lodret galleri.
Der føjes et Gallery-kontrolelement til skærmen.Du bliver bedt om at vælge en datakilde, hvor du kan vælge en datakilde fra de tilgængelige datakilder.
Du kan f.eks. vælge tabellen Kontakter for at bruge eksempeldata:I galleriet vises elementer fra denne tabel:
Indsæt et Button-kontrolelement fra venstre rude:
Flyt den tilføjede knap under gallerielementerne:
Opdater knappens tekstegenskab til Fjern post. Du kan også bruge enhver anden tekst:
Indstil egenskaben OnSelect for dette knapkontrolelement til følgende formel:
Remove( Contacts, Gallery1.Selected )
Gallerikontrolelementet gør den aktuelt valgte post tilgængelig ved hjælp af egenskaben Selected. Funktionen Fjern refererer til den valgte post for at fjerne den.
Gennemse appen ved hjælp af knappen Afspil øverst til højre, eller tryk på F5 på tastaturet:
Vælg en post, der skal fjernes, f.eks. Nancys post i dette eksempel:
Vælg Fjern post:
Hvis du vælger knappen, fjernes den markerede post (i dette eksempel Nancys post).
Luk eksempelappen.
Tip
Du kan også skifte funktion med Alt-tasten i stedet for at bruge app-eksemplet med knappen Afspil eller F5.
Eksempler – papirkurv-ikon i et galleri
I dette eksempel skal du fjerne et element ved hjælp af et ikon, som er placeret i galleriet.
Oprette en samling med eksempeldata
Hvis du allerede har forberedt eksempeldata , kan du springe dette trin over og flytte til Papirkurv-ikonet i et galleri .
Føj et Button-kontrolelement til dit skærmbillede.
Indstil egenskaben OnSelect til følgende formel:
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" } )
Vælg knappen, mens du holder Alt-tasten nede.
Der oprettes en eksempelsamling, som du kan bruge i følgende eksempel.
Papirkurv-ikon i et galleri
Opret en ny tom lærredapp ved hjælp af et telefonlayout.
Vælg Indsæt fra den venstre rude.
Vælg Lodret galleri.
Der føjes et Gallery-kontrolelement til skærmen.Du bliver bedt om at vælge en datakilde, hvor du kan vælge en datakilde fra de tilgængelige datakilder.
Du kan f.eks. vælge tabellen Kontakter for at bruge eksempeldata:Hvis du har oprettet en samling , skal du i stedet vælge din samling:
Vælg et kontrolelement i øverste element i galleriet.
Hvis du vil sikre, at elementet indsættes i galleriets skabelon og ikke uden for galleriet, skal du sikre dig, at du følger dette trin, før du går videre til næste trin.
Vælg Tilføj ikon fra venstre rude.
Bemærk
Tilføj ikon indsætter et + ikon i venstre side af galleriet, der replikeres for hvert element i galleriet.
Flyt ikonet i øverste element til højre side af skærmen.
Vælg egenskaben Icon for ikonet, og Indstil det til følgende formel for at opdatere ikonets billede som affald:
Icon.Trash
Bemærk
Ikonet præfix vises kun, når du aktivt redigerer formlen.
Indstil egenskaben OnSelect til følgende formel:
Remove( [@Contacts], ThisItem )
Bemærk
Du skal bruge den globale operator til fjernelse af flertydige udtryk[@...] i dette eksempel med eksempeldata, der bruger tabellen Kontakter for at undgå en konflikt med en En til mange-relation. Hvis du bruger datakilder, f.eks. en liste eller en SQL Server-tabel, kræves der ikke en global operator til fjernelse af flertydige udtryk.
Gennemse appen ved hjælp af knappen Afspil øverst til højre, eller tryk på F5 på tastaturet.
Vælg papirkurv-konet ud for en post, f.eks. Marias:
Posten er slettet:
Luk eksempelappen.