Funkce Remove a RemoveIf

Platí pro: aplikace plátna modelem řízené aplikace rozhraní příkazového řádku Power Platform

Odebere záznamy ze zdroje dat.

Poznámka:

Příkazy PAC CLI pac power-fx nepodporují funkci RemoveIf.

Description

Funkce Remove

Funkce Remove umožňuje odebrat konkrétní záznam nebo záznamy ze zdroje dat.

U kolekcí se musí shodovat celý záznam. Pomocí argumentu RemoveFlags.All můžete odebrat všechny kopie záznamu; v opačném případě se odebere jenom jedna kopie záznamu.

Funkce RemoveIf

Funkce RemoveIf umožňuje odebrat záznam nebo záznamy na základě podmínky nebo sady podmínek. Každá podmínka může být libovolným vzorcem, jehož výsledkem je true nebo false, a pomocí názvu odkazovat na sloupce zdroje dat. Jednotlivé podmínky se vyhodnocují zvlášť pro každý záznam, přičemž záznam se odebere, pokud se všechny podmínky vyhodnotí na true.

Funkce Remove a RemoveIf vracejí změněný zdroj dat jako tabulku. Obě funkce se dají použít jenom ve vzorcích chování.

Můžete použít také funkci Clear, která odebere všechny záznamy v kolekci.

Delegování

Tyto funkce nelze delegovat, pokud se používají se zdrojem dat. Bude načtena pouze první část zdroje dat a pak se tato funkce použije. Výsledek nemusí být zcela reprezentativní. V době vytváření se může objevit varování, které vám toto omezení připomene.

Podpora delegování (experimentální)

Podpora delegování pro RemoveIf je nyní v experimentální fázi Preview (ve výchozím nastavení VYPNUTO) pro zdroje dat, které jej podporují. Pokud zdroj dat tuto funkci nepodporuje, Power Apps odešle dotaz na server a načte všechna data, která odpovídají výrazu filtru až do maxima 500, 2000 nebo velikosti datové stránky. Poté provede operaci odstranění na každém z těchto záznamů s jednotlivými voláními na server.

Syntaxe

Remove( ZdrojDat; Záznam1 [; Záznam2; ... ] [; RemoveFlags.All ] )

  • ZdrojDat – povinné. Zdroj dat obsahující záznam nebo záznamy, které se mají odebrat.
  • Záznam – povinné. Záznam nebo záznamy, které se mají odebrat.
  • RemoveFlags.All – volitelné. V kolekci se stejný záznam může vyskytovat vícekrát. Přidáním argumentu RemoveFlags.All odeberete všechny kopie tohoto záznamu.

Remove( ZdrojDat; Tabulka [; RemoveFlags.All ] )

  • ZdrojDat – povinné. Zdroj dat obsahující záznamy, které se mají odebrat.
  • Tabulka – povinné. Tabulka záznamů, které se mají odebrat.
  • RemoveFlags.All – volitelné. V kolekci se stejný záznam může vyskytovat vícekrát. Přidáním argumentu RemoveFlags.All odeberete všechny kopie tohoto záznamu.

RemoveIf( ZdrojDat; Podmínka [; ... ] )

  • ZdrojDat – povinné. Zdroj dat obsahující záznam nebo záznamy, které se mají odebrat.
  • Podmínky – povinné. Vzorec, při jehož vyhodnocení na true se záznam nebo záznamy odeberou. Ve vzorci můžete použít názvy sloupců ze ZdrojeDat. Pokud zadáte několik Podmínek, musí se všechny vyhodnotit na true, aby se záznam nebo záznamy odebraly.

Příklady – jednoduché vzorce

V těchto příkladech odeberete záznam nebo záznamy ve zdroji dat s názvem IceCream, který začíná daty v této tabulce:

Příklad zmrzliny.

Vytvoření kolekce s ukázkovými záznamy

Chcete-li vytvořit kolekci s těmito daty:

  1. Vložte ovládací prvek Button.

  2. Nastavte vlastnost OnSelect tlačítka na vzorec níže:

    ClearCollect( IceCream,
                  { ID: 1, Flavor: "Chocolate",  Quantity: 100 },
                  { ID: 2, Flavor: "Vanilla",    Quantity: 200 },
                  { ID: 3, Flavor: "Strawberry", Quantity: 300 }
    )
    
  3. Vyberte tlačítko, zatímco držíte stisknutou klávesu Alt:

Odebrání ukázkových záznamů z kolekce pomocí vzorce

Vzorec Description Result
Remove( IceCream,
LookUp( IceCream, Flavor="Chocolate" ))
Odebere ze zdroje dat záznam Chocolate. Výsledek s vanilkou a jahodou.

Zdroj dat IceCream byl změněn.
Remove( IceCream,
LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) )
Odebere ze zdroje dat dva záznamy. Výsledek pouze s vanilkou.

Zdroj dat IceCream byl změněn.
RemoveIf( IceCream, Quantity > 150 ) Odebere záznamy, jejichž hodnota Quantity je větší než 150. Výsledek pouze s čokoládou.

Zdroj dat IceCream byl změněn.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) Odebere záznamy, jejichž hodnota Quantity je větší než 150 a hodnota Flavor začíná písmenem S. Výsledek s čokoládou a vanilkou.


Zdroj dat IceCream byl změněn.
RemoveIf( IceCream, true ) Odebere ze zdroje dat všechny záznamy. Výsledek bez zmrzliny.

Zdroj dat IceCream byl změněn.

V tomto příkladu použijete ovládací prvek Gallery pro výpis záznamů v tabulce. A poté použijete funkci Remove k selektivnímu odebrání položky.

Příprava ukázkových dat

Tento příklad používá tabulku Kontakty v Microsoft Dataverse, která je k dispozici s ukázkovými aplikacemi a daty. Ukázkové aplikace a data můžete nasadit při vytváření prostředí. Místo toho můžete použít i jiný zdroj dat.

V tomto příkladu odeberete položku pomocí tlačítka mimo galerii.

  1. Vytvořte novou prázdnou aplikaci plátna pomocí Rozložení pro telefon.

    Nová prázdná aplikace plátna pomocí Rozložení pro telefon.

  2. V levém podokně vyberte položku Vložit.

  3. Vyberte Svislá galerie.
    Ovládací prvek Gallery se přidá na obrazovku.

    Pomocí podokna nástrojů Vložit přidejte ovládací prvek svislé galerie.

  4. Budete vyzváni k výběru zdroje dat, kde můžete vybrat zdroj dat z dostupných zdrojů dat.
    Vyberte například tabulku Kontakty a použijte z ní vzorek dat:

    Výběr tabulky kontaktů k zobrazení v galerii.

    Galerie zobrazuje položky z této tabulky:

    Přidána galerie zobrazující tabulku kontaktů.

  5. Vložte ovládací prvek Button z levého podokna:

    Pomocí podokna nástrojů Vložit přidejte ovládací prvek tlačítka.

  6. Přesuňte přidané tlačítko pod položky galerie:

    Tlačítko Přesunout.

  7. Aktualizujte vlastnost textu tlačítka na Odebrat záznam. Můžete také použít text dle svého výběru:

    Tlačítko Přejmenovat.

  8. Pro vlastnost OnSelect tohoto tlačítka nyní nastavte následující vzorec:

    Remove( Contacts, Gallery1.Selected )
    

    Nastavení vlastnosti OnSelect prvku Button.

    Ovládací prvek galerie zpřístupní aktuálně vybraný záznam pomocí vlastnosti Selected. Funkce Remove odkazuje na tento vybraný záznam, aby jej odebrala.

  9. Zobrazte náhled aplikace pomocí tlačítka Přehrát vpravo nahoře nebo stiskněte F5 na klávesnici:

    Náhled aplikace.

  10. Vyberte záznam, který chcete odstranit, například záznam Nancy v tomto příkladu:

    Vyberte záznam.

  11. Vyberte Odebrat záznam:

    Galerie kontaktů, nyní bez záznamu Nancy, který byl odstraněn.

    Výběr tlačítka odstraní vybraný záznam (v tomto příkladu záznam Nancy).

  12. Zavřete náhled aplikace.

    Zpropitné

    Můžete také použít alternativní chování s klávsou Alt namísto použití náhledu aplikace tlačítkem přehrát nebo klávesy F5.

V tomto příkladu odeberete položku pomocí ikony umístěné mimo galerii.

Vytvoření kolekce s ukázkovými daty

Pokud již máte připravená ukázková data, tento krok přeskočte a přejděte na část Ikona koše uvnitř galerie.

  1. Přidejte na obrazovku ovládací prvek Button.

  2. Vlastnost OnSelect nastavte na tento vzorec:

    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. Vyberte tlačítko, zatímco držíte stisknutou klávesu Alt.

Je vytvořena ukázková kolekce, kterou můžete použít v následujícím příkladu.

  1. Vytvořte novou prázdnou aplikaci plátna pomocí Rozložení pro telefon.

    Nová prázdná aplikace plátna pomocí Rozložení pro telefon.

  2. V levém podokně vyberte položku Vložit.

  3. Vyberte Svislá galerie.
    Ovládací prvek Gallery se přidá na obrazovku.

    Pomocí podokna nástrojů Vložit přidejte ovládací prvek svislé galerie.

  4. Budete vyzváni k výběru zdroje dat, kde můžete vybrat zdroj dat z dostupných zdrojů dat.
    Vyberte například tabulku Kontakty a použijte z ní vzorek dat:

    Výběr tabulky kontaktů k zobrazení v galerii.

    Pokud jste vytvořili kolekci, místo toho vyberte svou kolekci:

    Ukázková kolekce kontaktů.

  5. Vyberte ovládací prvek v horní položce v galerii.

    Chcete-li zajistit, aby další krok vložil položku do šablony galerie a ne mimo galerii, ujistěte se, že jste tento krok provedli před přechodem na další krok.

    Výběr nejvyššího záznamu v galerii.

  6. Vyberte Přidat ikonu z levého podokna.

    Pomocí podokna nástrojů Vložit přidejte ovládací prvek ikony.

    Poznámka:

    Přidat ikonu vloží ikonu + na levou stranu galerie, která se replikuje pro každou položku v galerii.

  7. V horní položce přesuňte ikonu na pravou stranu obrazovky.

    Přesunutí ikony.

  8. Pro ikonu vyberte vlastnost Icon a nastavte ji na následující vzorec, který aktualizuje obrázek ikony na ikonu koše:

    Icon.Trash
    

    Poznámka:

    Předpona Icon. se zobrazí pouze během aktivních úprav vzorce.

    Změna ikony na ikonu koše.

  9. Vlastnost OnSelect nastavte na tento vzorec:

    Remove( [@Contacts], ThisItem )
    

    Poznámka:

    V tomto příkladu s ukázkovými daty, která používají tabulku Kontakty, musíte použít globální operátor víceznačnosti[@...], aby nedocházelo ke konfliktu se vztahem 1:N. Pokud používáte zdroje dat, jako je seznam nebo tabulka SQL Serveru, použití globálního rozlišovacího operátoru není nutné.

    Vlastnost OnSelect pro ikonu koše.

  10. Zobrazte náhled aplikace pomocí tlačítka Přehrát vpravo nahoře nebo stiskněte F5 na klávesnici.

  11. Vyberte ikonu koše, například vedle záznamu Maria:

    Galerie s jedním odstraněným kontaktem.

    Záznam je odstraněn:

    Odstraněný záznam.

  12. Zavřete náhled aplikace.