Funkce Remove a RemoveIf
Platí pro: Aplikace plátna Modelem řízené aplikace Power Platform CLI
Odebere záznamy ze zdroje dat.
Poznámka:
PAC CLI příkazy 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.
Odebrat a RemoveIf vrátit upravený 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
Odebrat( Zdroj dat, Záznam1 [, Záznam2 , ... ] [, RemoveFlags.All ] )
- DataSource – Povinné. Zdroj dat obsahující záznam nebo záznamy, které se mají odebrat.
- Záznamy – 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.
Odebrat( Zdroj dat, Tabulka [, Odstranit příznaky .Vše ] )
- DataSource – 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( Zdroj dat, Podmínka [, ... ] )
- DataSource – 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:
Vytvoření kolekce s ukázkovými záznamy
Chcete-li vytvořit kolekci s těmito daty:
Vložte ovládací prvek Button.
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 } )
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 |
---|---|---|
Odebrat (zmrzlinu, LookUp( IceCream, Flavor="Chocolate" )) |
Odebere ze zdroje dat záznam Chocolate. | Zdroj dat IceCream byl změněn. |
Odebrat (zmrzlinu, LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
Odebere ze zdroje dat dva záznamy. | Zdroj dat IceCream byl změněn. |
RemoveIf( zmrzlina, množství > 150 ) | Odebere záznamy, jejichž hodnota Quantity je větší než 150. | 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. | Zdroj dat IceCream byl změněn. |
RemoveIf( IceCream, true ) | Odebere ze zdroje dat všechny záznamy. | Zdroj dat IceCream byl změněn. |
Příklady – odebrání tlačítka mimo galerii
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.
Odebrání tlačítka mimo galerii
V tomto příkladu odeberete položku pomocí tlačítka mimo galerii.
Vytvořte novou prázdnou aplikaci plátna pomocí Rozložení pro telefon.
V levém podokně vyberte položku Vložit.
Vyberte Svislá galerie.
Ovládací prvek Gallery se přidá na obrazovku.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:Galerie zobrazuje položky z této tabulky:
Vložte ovládací prvek Button z levého podokna:
Přesuňte přidané tlačítko pod položky galerie:
Aktualizujte vlastnost textu tlačítka na Odebrat záznam. Můžete také použít text dle svého výběru:
Pro vlastnost OnSelect tohoto tlačítka nyní nastavte následující vzorec:
Remove( Contacts, Gallery1.Selected )
Ovládací prvek galerie zpřístupní aktuálně vybraný záznam pomocí vlastnosti Selected. Funkce Remove odkazuje na tento vybraný záznam, aby jej odstranil.
Zobrazte náhled aplikace pomocí tlačítka Přehrát vpravo nahoře nebo stiskněte F5 na klávesnici:
Vyberte záznam, který chcete odstranit, například záznam Nancy v tomto příkladu:
Vyberte Odebrat záznam:
Výběr tlačítka odstraní vybraný záznam (v tomto příkladu záznam Nancy).
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.
Příklady – ikona koše uvnitř galerie
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.
Přidejte na obrazovku ovládací prvek Button.
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" } )
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.
Ikona koše uvnitř galerie
Vytvořte novou prázdnou aplikaci plátna pomocí Rozložení pro telefon.
V levém podokně vyberte položku Vložit.
Vyberte Svislá galerie.
Ovládací prvek Gallery se přidá na obrazovku.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:Pokud jste vytvořili kolekci, místo toho vyberte svou kolekci:
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.
Vyberte Přidat ikonu z levého podokna.
Poznámka:
Přidat ikonu vloží ikonu + na levou stranu galerie, replikovanou pro každou položku v galerii.
V horní položce přesuňte ikonu na pravou stranu obrazovky.
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.
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é.
Zobrazte náhled aplikace pomocí tlačítka Přehrát vpravo nahoře nebo stiskněte F5 na klávesnici.
Vyberte ikonu koše, například vedle záznamu Maria:
Záznam je odstraněn:
Zavřete náhled aplikace.