Funksjonene Remove og RemoveIf
Gjelder for: 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, opptil 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.
- Oppføringer – 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.
- Tabell – 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,Betingelse [, ... ] )
- DataSource – Obligatorisk. Datakilden som inneholder posten eller postene som du vil fjerne.
- Betingelser – Påkrevd. 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:
Opprette en samling med eksempeloppføringer
Slik oppretter du en samling med disse dataene:
Sett inn en Button.
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 } )
Velg knappen mens du holder nede ALT:
Fjerne eksempeloppføringer fra samling ved hjelp av en formel
Formel | Bekrivelse | Result |
---|---|---|
Fjern (Iskrem, LookUp( IceCream, Flavor="Chocolate" )) |
Fjerner Chocolate-posten fra datakilden. | Datakilden IceCream har blitt endret. |
Fjern (Iskrem, LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
Fjerner to poster fra datakilden. | Datakilden IceCream har blitt endret. |
RemoveIf( IceCream, mengde > 150 ) | Fjerner poster hvor Quantity er større enn 150. | Datakilden IceCream har blitt endret. |
RemoveIf( IceCream, Mengde > 150, Left( Flavor, 1 ) = "S" ) | Fjerner poster som har en Quantity som er større enn 150 og en Flavor som begynner på S. | Datakilden IceCream har blitt endret. |
RemoveIf( IceCream, sant ) | Fjerner alle postene fra datakilden. | Datakilden IceCream har blitt endret. |
Eksempler – fjerne knapp utenfor et galleri
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.
Fjerne knapp utenfor et galleri
I dette eksemplet skal du fjerne et element ved å bruke en knapp som er utenfor galleriet.
Opprett en ny, tom lerretsapp ved hjelp av et telefonoppsett.
Velg Sett inn fra venstre navigasjonsrute.
Velg Loddrett galleri.
En Gallery-kontroll blir lagt til på skjermen.Du blir bedt om å velge en datakilde der du kan velge en fra de tilgjengelige datakildene.
Velg for eksempel Kontakter-tabellen for å bruke eksempeldata:Galleriet viser elementer fra denne tabellen:
Sett inn en Button fra venstre rute:
Flytt den tillagte knappen under gallerielementene:
Oppdater knappetekstegenskap til Fjern oppføring. Du kan også bruke en egendefinert tekst:
Angi OnSelect-egenskapen for denne knappen kontrollen til følgende formel:
Remove( Contacts, Gallery1.Selected )
Gallerikontrollen gjør den valgte oppføringen tilgjengelig ved hjelp av Selected-egenskapen. Fjern-funksjonen refererer til denne valgte posten for å fjerne den.
Forhåndsvis appen ved hjelp av Spill av-knappen øverst til høyre, eller trykk F5 på tastaturet:
Velg en oppføring du vil fjerne, for eksempel Nancys oppføring i dette eksemplet:
Velg Fjern oppføring:
Hvis du velger knappen, fjernes den valgte oppføringen (i dette eksemplet Nancys oppføring).
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.
Eksempler – papirkurv-ikon i et galleri
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.
Legg til en Button på skjermen.
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" } )
Velg knappen mens du holder nede ALT.
Eksempelsamlingen opprettes, som du kan bruke i følgende eksempel.
Papirkurv-ikon i et galleri
Opprett en ny, tom lerretsapp ved hjelp av et telefonoppsett.
Velg Sett inn fra venstre navigasjonsrute.
Velg Loddrett galleri.
En Gallery-kontroll blir lagt til på skjermen.Du blir bedt om å velge en datakilde der du kan velge en fra de tilgjengelige datakildene.
Velg for eksempel Kontakter-tabellen for å bruke eksempeldata:Hvis du opprettet en samling, velger du samlingen i stedet:
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 Legg til ikon fra venstre rute.
Merk
Legg til-ikon setter inn et + ikon på venstre side av galleriet, replikert for hvert element i galleriet.
Flytt ikonet til høyre på skjermen i det øverste elementet.
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.
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 tvetydighetsoperatoren.
Forhåndsvis appen ved hjelp av Spill av-knappen øverst til høyre, eller trykk F5 på tastaturet.
Velg papirkurvikonet ved siden av en oppføring, for eksempel Marias:
Oppføringen er slettet:
Lukk forhåndsvisningen av appen.