Funktionerne Remove og RemoveIf

Gælder for: Lærred-apps Modeldrevne 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.

Remove og RemoveIf 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 et maksimum på enten 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.
  • Record(s) – 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, Table [, RemoveFlags.All ] )

  • DataSource – påkrævet. Datakilden, der indeholder de poster, du vil fjerne.
  • Table – 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.
  • Condition(s) – 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:

Eksempel på IceCream.

Oprette en samling med eksempelposter

Sådan opretter du en samling med disse data:

  1. Indsæt et Button-kontrolelement.

  2. 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 }
    )
    
  3. Vælg knappen, mens du holder Alt-tasten nede:

Fjerne eksempelposter fra en samling ved hjælp af en formel

Formula Beskrivelse Result
Remove( IceCream,
LookUp( IceCream, Flavor="Chocolate" ))
Fjerner posten Chocolate fra datakilden. Resultat med Vanilla og Strawberry.

Datakilden IceCream er blevet ændret.
Remove( IceCream,
LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) )
Fjerner to poster fra datakilden. Resultat kun med Vanilla.

Datakilden IceCream er blevet ændret.
RemoveIf( IceCream, Quantity > 150 ) Fjerner poster, der har et Quantity, der er større end 150. Resultat kun med Chocolate.

Datakilden IceCream er blevet ændret.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) Fjerner poster, der har et Quantity, der er større end 150, og en Flavor, der starter med S. Resultat med Chocolate og Vanilla.


Datakilden IceCream er blevet ændret.
RemoveIf( IceCream, true ) Fjerner alle poster fra datakilden. Resultat uden IceCream.

Datakilden IceCream er blevet ændret.

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.

I dette eksempel skal du fjerne et element ved hjælp af en knap, der er uden for galleriet.

  1. Opret en ny tom lærredapp ved hjælp af et telefonlayout.

    En tom lærredapp ved hjælp af et telefonlayout.

  2. Vælg Indsæt fra den venstre rude.

  3. Vælg Lodret galleri.
    Der føjes et Gallery-kontrolelement til skærmen.

    Brug af ruden Indsæt værktøj til at tilføje et kontrolelement for lodret galleri.

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

    Valg af tabellen Kontakter, der skal vises i galleriet.

    I galleriet vises elementer fra denne tabel:

    Galleri tilføjet, der viser tabellen Kontakter.

  5. Indsæt et Button-kontrolelement fra venstre rude:

    Brug af ruden Indsæt værktøj til at tilføje et knapkontrolelement.

  6. Flyt den tilføjede knap under gallerielementerne:

    Flyt-knappen.

  7. Opdater knappens tekstegenskab til Fjern post. Du kan også bruge enhver anden tekst:

    Knappen Omdøb.

  8. Indstil egenskaben OnSelect for dette knapkontrolelement til følgende formel:

    Remove( Contacts, Gallery1.Selected )
    

    Indstiller egenskaben OnSelect for knapkontrolelementet.

    Gallerikontrolelementet gør den aktuelt valgte post tilgængelig ved hjælp af egenskaben Selected. Funktionen Remove refererer til denne markerede post for at fjerne den.

  9. Gennemse appen ved hjælp af knappen Afspil øverst til højre, eller tryk på F5 på tastaturet:

    Eksempel-app.

  10. Vælg en post, der skal fjernes, f.eks. Nancys post i dette eksempel:

    Vælg en post.

  11. Vælg Fjern post:

    Galleri over kontakter, men nu uden at posten Birgitte, som er blevet fjernet.

    Hvis du vælger knappen, fjernes den markerede post (i dette eksempel Nancys post).

  12. Luk eksempelappen.

    Tip

    Du kan også skifte funktion med Alt-tasten i stedet for at bruge app-eksemplet med knappen Afspil eller F5.

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 .

  1. Føj et Button-kontrolelement til dit skærmbillede.

  2. 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" }
    )
    
  3. Vælg knappen, mens du holder Alt-tasten nede.

Der oprettes en eksempelsamling, som du kan bruge i følgende eksempel.

  1. Opret en ny tom lærredapp ved hjælp af et telefonlayout.

    En tom lærredapp ved hjælp af et telefonlayout.

  2. Vælg Indsæt fra den venstre rude.

  3. Vælg Lodret galleri.
    Der føjes et Gallery-kontrolelement til skærmen.

    Brug af ruden Indsæt værktøj til at tilføje et kontrolelement for lodret galleri.

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

    Valg af tabellen Kontakter, der skal vises i galleriet.

    Hvis du har oprettet en samling , skal du i stedet vælge din samling:

    Eksempel på samling af kontakter.

  5. 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 den øverste post i et galleri.

  6. Vælg Tilføj ikon fra venstre rude.

    Brug af ruden Indsæt værktøj til at tilføje et kontrolelement for ikon.

    Bemærk

    Tilføj ikon indsætter et +-ikon i venstre side af galleriet, som replikeres for hvert element i galleriet.

  7. Flyt ikonet i øverste element til højre side af skærmen.

    Ikonet Flyt.

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

    Ændring af ikonet til ikonet for papirkurv.

  9. 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 brugerdata kilder, f.eks. en liste eller en SQL Server-tabel, kræves der ikke brug af en global tvetydighedsoperator.

    OnSelect til ikon for papirkurv.

  10. Gennemse appen ved hjælp af knappen Afspil øverst til højre, eller tryk på F5 på tastaturet.

  11. Vælg papirkurv-konet ud for en post, f.eks. Marias:

    Galleri med en af de fjernede kontakter.

    Posten er slettet:

    Slettet post.

  12. Luk eksempelappen.