Funktionerne Remove og RemoveIf i Power Apps

Fjerner poster fra en datakilde.

Beskrivelse

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 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 uddelegeres, når de bruges med en datakilde. Kun den første del af datakilden hentes, og derefter vil funktionen blive anvendt. Resultatet repræsenterer muligvis ikke hele historien. Der vises muligvis en advarsel på oprettelsestidspunktet for at minde dig om denne begrænsning og foreslå skift til alternativer, der kan uddelegeres, hvis det er muligt. Du kan finde flere oplysninger i uddelegeringsoversigten.

Syntaks

Remove( DataSource, Record1 [, Record2, ... ] [, 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.
  • All – valgfri. Den samme post kan vises mere end én gang i en samling. Du kan tilføje argumentet All for at fjerne alle kopier af posten.

Remove( DataSource, Table [, All ] )

  • DataSource – påkrævet. Datakilden, der indeholder de poster, du vil fjerne.
  • Table – påkrævet. En tabel med poster, der skal fjernes.
  • All – valgfri. Den samme post kan vises mere end én gang i en samling. Du kan tilføje argumentet 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:

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

Formel Beskrivelse Resultat
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) )
Fjerner posten Chocolate fra datakilden.

Datakilden IceCream er blevet ændret.
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) First( Filter( IceCream, Flavor="Strawberry" ) ) )
Fjerner to poster fra datakilden.

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

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.


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

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 objektet Kontakter i Common Data Service, som er tilgængeligt for 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 lodret galleri-kontrolelement

  4. Du bliver bedt om at vælge en datakilde, hvor du kan vælge en datakilde fra de tilgængelige datakilder.
    Vælg f.eks. objektet Kontakter for at bruge eksempeldata:

    Vælge objektet Kontakter, der skal vises i galleriet

    Galleriet indeholder elementer fra dette objekt:

    Det galleri, der vises, og objektet 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 Markerede. 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 Nancy, 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 lodret galleri-kontrolelement

  4. Du bliver bedt om at vælge en datakilde, hvor du kan vælge en datakilde fra de tilgængelige datakilder.
    Vælg f.eks. objektet Kontakter for at bruge eksempeldata:

    Vælge objektet 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ælge 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 ikon-kontrolelement

    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 Ikon for ikonet, og Indstil det til følgende formel for at opdatere ikonets billede som affald:

    Icon.Trash
    

    Bemærk

    Præfikset Ikon vises kun, når du aktivt redigerer formlen.

    Ændre ikonet til papirkurv-ikonet

  9. Indstil egenskaben OnSelect til følgende formel:

    Remove( [@Contacts], ThisItem )
    

    Bemærk

    Du skal bruge den globale tvetydighedsoperator [@...] i dette eksempel med eksempeldata, der bruger objektet Kontakter for at undgå konflikter med en en-til-mange-relation. Hvis du brugerdata kilder, f.eks. en SharePoint-liste eller en SQL Server-tabel, kræves der ikke brug af en global tvetydighedsoperator.

    OnSelect til papirkurvs-ikon

  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.