Funksjonene Remove og RemoveIf

Gjelder: Lerretsapper Modelldrevne apper Power Platform CLI

Fjerner poster fra en datakilde.

Merk

PAC CLI pac power-fx-kommandoer støtter ikke RemoveIf-funksjonen.

Description

Remove-funksjonen

Bruk Remove-funksjonen til å fjerne en bestemt post eller poster fra en datakilde.

Hvis du vil fjerne en samling, må hele posten gi treff. Du kan bruke RemoveFlags.All-argumentet for å fjerne alle kopier av en post. Ellers fjernes bare én kopi av posten.

RemoveIf-funksjonen

Bruk RemoveIf-funksjonen til å fjerne en post eller poster basert på en betingelse eller et sett med betingelser. Betingelsen kan være enhver formel som gir sann eller usann som resultat og kan referere til kolonner i datakilden etter navn. Hver betingelse evalueres separat for hver post, og posten fjernes hvis alle betingelsene gir resultatet sann.

Remove og RemoveIf returnerer den endrede datakilden som en tabell. Du kan kun bruke begge funksjonene i formler for virkemåte.

Du kan også bruke Clear-funksjonen til å fjerne alle postene i en samling.

Delegering

Disse funksjonene kan ikke delegeres når de brukes med en datakilde. Bare den første delen av datakilden hentes, og deretter brukes funksjonen. Dette representerer kanskje ikke den fullstendig historikken. Det kan vises en advarsel under redigeringen for å minne deg på denne begrensningen.

Delegeringsstøtte (eksperimentell)

Delegeringsstøtte for RemoveIf finnes nå som eksperimentell forhåndsversjon (standard AV) for datakilder som støtter dette. Hvis en datakilde ikke støtter denne funksjonen, sender Power Apps en spørring til serveren og henter alle data som samsvarer med filteruttrykket, maksimalt 500, 2000, eller størrelsen på datasiden. Deretter utføres en sletteoperasjon på hver av oppføringene med individuelle kall til serveren.

Syntaks

Remove( DataSource, Record1 [, Record2, ... ] [, RemoveFlags.All ] )

  • DataSource – obligatorisk. Datakilden som inneholder posten eller postene som du vil fjerne.
  • Record(s) – obligatorisk. Posten eller postene du vil fjerne.
  • RemoveFlags.All – valgfritt. I en samling kan den samme posten forekomme mer enn én gang. Du kan angi argumentet RemoveFlags.All for å fjerne alle kopier av posten.

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

  • DataSource – obligatorisk. Datakilden som inneholder postene som du vil fjerne.
  • Table - obligatorisk. En tabell med poster som du vil fjerne.
  • RemoveFlags.All – valgfritt. I en samling kan den samme posten forekomme mer enn én gang. Du kan angi argumentet RemoveFlags.All for å fjerne alle kopier av posten.

RemoveIf( DataSource, Condition [, ... ] )

  • DataSource – obligatorisk. Datakilden som inneholder posten eller postene som du vil fjerne.
  • Condition(s) – obligatorisk. En formel som gir resultatet sann for posten eller postene som du vil endre. Du kan bruke kolonnenavnene fra DataSource i formelen. Hvis du angir flere Conditions, må alle gi resultatet sann for posten eller postene som skal fjernes.

Eksempler – enkeltformler

I disse eksemplene fjerner du poster i en datakilde som heter IceCream og som starter med dataene i denne tabellen:

Eksempel med IceCream.

Opprette en samling med eksempeloppføringer

Slik oppretter du en samling med disse dataene:

  1. Sett inn en Button.

  2. Sett knappekontrollens OnSelect-egenskap til denne formelen:

    ClearCollect( IceCream,
                  { ID: 1, Flavor: "Chocolate",  Quantity: 100 },
                  { ID: 2, Flavor: "Vanilla",    Quantity: 200 },
                  { ID: 3, Flavor: "Strawberry", Quantity: 300 }
    )
    
  3. Velg knappen mens du holder nede ALT:

Fjerne eksempeloppføringer fra samling ved hjelp av en formel

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

Datakilden IceCream har blitt endret.
Remove( IceCream,
LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) )
Fjerner to poster fra datakilden. Resultat med bare Vanilla.

Datakilden IceCream har blitt endret.
RemoveIf( IceCream, Quantity > 150 ) Fjerner poster hvor Quantity er større enn 150. Resultat med bare Chocolate.

Datakilden IceCream har blitt endret.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) Fjerner poster som har en Quantity som er større enn 150 og en Flavor som begynner på S. Resultat med Chocolate og Vanilla.


Datakilden IceCream har blitt endret.
RemoveIf( IceCream, true ) Fjerner alle postene fra datakilden. Resultat uten IceCream.

Datakilden IceCream har blitt endret.

I dette eksemplet skal du bruke en Gallery-kontroll til å vise oppføringene i en tabell. Du skal deretter bruke Remove-funksjonen til å fjerne et element selektivt.

Klargjøre for eksempeldata

I dette eksemplet brukes Kontakter-tabellen i Microsoft Dataverse som er tilgjengelig med eksempelappene og -dataene. Du kan distribuere eksempelapper og data når du oppretter et miljø. Du kan også bruke en hvilken som helst annen datakilde i stedet.

I dette eksemplet skal du fjerne et element ved å bruke en knapp som er utenfor galleriet.

  1. Opprett en ny, tom lerretsapp ved hjelp av et telefonoppsett.

    En tom lerretsapp ved hjelp av telefonoppsettet.

  2. Velg Sett inn fra venstre navigasjonsrute.

  3. Velg Loddrett galleri.
    En Gallery-kontroll blir lagt til på skjermen.

    Bruk verktøyruten for innsetting til å legge til en loddrett gallerikontroll.

  4. Du blir bedt om å velge en datakilde der du kan velge en fra de tilgjengelige datakildene.
    Velg for eksempel Kontakter-tabellen for å bruke eksempeldata:

    Velg Kontakter-tabellen som skal vises i galleriet.

    Galleriet viser elementer fra denne tabellen:

    Galleri lagt til som viser Kontakter-tabellen.

  5. Sett inn en Button fra venstre rute:

    Bruk verktøyruten for innsetting til å legge til en knappekontroll.

  6. Flytt den tillagte knappen under gallerielementene:

    Flytt-knappen.

  7. Oppdater knappetekstegenskap til Fjern oppføring. Du kan også bruke en egendefinert tekst:

    Gi nytt navn-knappen.

  8. Angi OnSelect-egenskapen for denne knappen kontrollen til følgende formel:

    Remove( Contacts, Gallery1.Selected )
    

    Angi OnSelect-egenskapen for knappekontrollen.

    Gallerikontrollen gjør den valgte oppføringen tilgjengelig ved hjelp av Selected-egenskapen. Remove-funksjonen refererer til denne valgte oppføringen for å fjerne den.

  9. Forhåndsvis appen ved hjelp av Spill av-knappen øverst til høyre, eller trykk F5 på tastaturet:

    App for forhåndsvisning.

  10. Velg en oppføring du vil fjerne, for eksempel Nancys oppføring i dette eksemplet:

    Velg en oppføring.

  11. Velg Fjern oppføring:

    Galleri med kontakter, nå uten Nancy-oppføringen som er fjernet.

    Hvis du velger knappen, fjernes den valgte oppføringen (i dette eksemplet Nancys oppføring).

  12. Lukk forhåndsvisningen av appen.

    Tips

    Du kan også bruke alternativ virkemåte med Alt-tasten i stedet for å bruke forhåndsvisningen av appen med Spill av-knapp eller F5.

I dette eksemplet skal du fjerne et element ved å bruke et ikon som er plassert i galleriet.

Opprette en samling med eksempeldata

Hvis du allerede har klargjort eksempeldata, kan du hoppe over dette trinnet og flytte til Papirkurv-ikon i et galleri.

  1. Legg til en Button på skjermen.

  2. Angi knappens OnSelect-egenskap 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. Velg knappen mens du holder nede ALT.

Eksempelsamlingen opprettes, som du kan bruke i følgende eksempel.

  1. Opprett en ny, tom lerretsapp ved hjelp av et telefonoppsett.

    En tom lerretsapp ved hjelp av telefonoppsettet.

  2. Velg Sett inn fra venstre navigasjonsrute.

  3. Velg Loddrett galleri.
    En Gallery-kontroll blir lagt til på skjermen.

    Bruk verktøyruten for innsetting til å legge til en loddrett gallerikontroll.

  4. Du blir bedt om å velge en datakilde der du kan velge en fra de tilgjengelige datakildene.
    Velg for eksempel Kontakter-tabellen for å bruke eksempeldata:

    Velg Kontakter-tabellen som skal vises i galleriet.

    Hvis du opprettet en samling, velger du samlingen i stedet:

    Eksempel på kontaktsamling.

  5. Velg en kontroll i det øverste elementet i galleriet.

    Hvis du vil sikre at neste trinn setter inn element i galleriets mal og ikke utenfor galleriet, må du sørge for at du følger dette trinnet før du går videre til neste trinn.

    Velg øverste oppføring i et galleri.

  6. Velg Legg til ikon fra venstre rute.

    Bruk verktøyruten for innsetting til å legge til en ikonkontroll.

    Merk

    Legg til ikon setter inn et +-ikon på venstre side av galleriet, som er replikert for hvert element i galleriet.

  7. Flytt ikonet til høyre på skjermen i det øverste elementet.

    Flytt-ikon.

  8. Velg Icon-egenskapen for ikonet, og angi den til følgende formel for å oppdatere ikonbildet som papirkurv-ikon:

    Icon.Trash
    

    Merk

    Ikon-prefikset vises bare når du redigerer formelen aktivt.

    Bytt ikonet til papirkurv-ikonet.

  9. Angi knappens OnSelect-egenskap til følgende formel:

    Remove( [@Contacts], ThisItem )
    

    Merk

    Du må bruke den globale tvetydighetsoperatoren[@...] i dette eksemplet med eksempeldata som bruker Kontakter-tabellen, for å unngå konflikt med en én-til-mange-relasjon. Hvis du bruker datakilder, for eksempel en liste eller en SQL Server-tabell, er det ikke nødvendig å bruke den globale entydighetsoperatoren.

    OnSelect for papirkurvikonet.

  10. Forhåndsvis appen ved hjelp av Spill av-knappen øverst til høyre, eller trykk F5 på tastaturet.

  11. Velg papirkurvikonet ved siden av en oppføring, for eksempel Marias:

    Galleri med én av kontaktene fjernet.

    Oppføringen er slettet:

    Slettet oppføring.

  12. Lukk forhåndsvisningen av appen.