Funkcja Remove i RemoveIf
Dotyczy: Aplikacje kanwy Aplikacje oparte na modelu Interfejs Power Platform wiersza polecenia aplikacji opartych na modelu
Funkcje te służą do usuwania rekordów ze źródła danych.
Uwaga
Polecenia PAC CLI pac power-fx nie obsługują funkcji RemoveIf .
Popis
Funkcja Remove
Funkcja Remove służy do usuwania określonego rekordu lub rekordów ze źródła danych.
W przypadku kolekcji cały rekord musi być zgodny. Możesz użyć argumentu RemoveFlags.All, aby usunąć wszystkie kopie rekordu. W przeciwnym razie zostanie usunięta tylko jedna kopia rekordu.
Funkcja RemoveIf
Funkcja RemoveIf służy do usuwania rekordu lub rekordów na podstawie warunku lub zestawu warunków. Każdy warunek może być dowolną formułą dającą wynik true lub false i może przywoływać kolumny w źródle danych według nazwy. Każdy warunek jest obliczany osobno dla każdego rekordu. Rekord zostanie usunięty, jeśli wszystkie warunki zostaną obliczone na wartość true.
Polecenia Remove i RemoveIf zwracają zmodyfikowane źródło danych jako tabelę. Obu tych funkcji można używać tylko w formułach dotyczących zachowań.
Możesz również użyć funkcji Clear, aby usunąć wszystkie rekordy w kolekcji.
Delegowanie
Tych funkcji nie można delegować, gdy są używane ze źródłem danych. Zostanie pobrana tylko pierwsza część źródła danych, a następnie zostanie zastosowana funkcja. To może nie odpowiadać pełnym informacjom. Podczas tworzenia może zostać wyświetlone ostrzeżenie, aby przypominać o tym ograniczeniu.
Obsługa delegowania (eksperymentalna)
Obsługa delegowania funkcji RemoveIf jest teraz w eksperymentalnej wersji zapoznawczej (domyślne WYŁĄCZONA) dla źródeł danych, które je obsługują. Jeśli źródło danych ta funkcja nie obsługuje, Power Apps wyśle do serwera zapytanie i pobierze wszystkie dane dopasowania do wyrażenia filtrowego do maksymalnej wartości 500, 2000 lub rozmiaru strony danych. Następnie należy wykonać operację usuwania dla każdego z tych rekordów przy użyciu poszczególnych wywołań do serwera.
Składnia
Remove( DataSource,Record1 [, Record2, ... ] [, RemoveFlags.All ] )
- Źródło danych– wymagane. Źródło danych zawierające co najmniej jeden rekord, który ma zostać usunięty.
- Rekordy – Wymagane. Rekord lub rekordy do usunięcia.
- RemoveFlags.All – Opcjonalne. W kolekcji ten sam rekord może występować więcej niż raz. Możesz podać argument RemoveFlags.All, aby usunąć wszystkie kopie rekordu.
Remove( DataSource,Table [, RemoveFlags.All ] )
- Źródło danych– wymagane. Źródło danych zawierające rekordy, które mają zostać usunięte.
- Tabela – Wymagane. Tabela rekordów do usunięcia.
- RemoveFlags.All – Opcjonalne. W kolekcji ten sam rekord może występować więcej niż raz. Możesz podać argument RemoveFlags.All, aby usunąć wszystkie kopie rekordu.
RemoveIf( DataSource,Warunek [, ... ] )
- Źródło danych– wymagane. Źródło danych zawierające co najmniej jeden rekord, który ma zostać usunięty.
- Warunki – wymagane. Formuła, której obliczenie daje wartość true dla rekordu lub rekordów do usunięcia. Możesz użyć nazw kolumn z argumentu ŹródłoDanych w formule. Jeśli określisz wiele warunków, wszystkie muszą zostać obliczone na wartość true, aby możliwe było usunięcie rekordu lub rekordów.
Przykłady – pojedyncze formuły
W tych przykładach przedstawiono usuwanie rekordu lub rekordów w źródle danych o nazwie IceCream, którego początkowe dane przedstawia następująca tabela:
Tworzenie kolekcji z przykładowymi rekordami
Aby utworzyć kolekcję z tymi danymi:
Wstaw kontrolkę Button.
Dla kontrolki Button właściwości OnSelect ustaw następującą formułę poniżej:
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
Trzymając wciśnięty klawisz Alt, kliknij przycisk:
Usuwanie przykładowych rekordów z kolekcji przy użyciu formuły
Formuła | opis | Result |
---|---|---|
Usuń( Lody, LookUp( IceCream, Flavor="Czekoladowe" )) |
Usuwa rekord Chocolate ze źródła danych. | Źródło danych IceCream zostało zmodyfikowane. |
Usuń( Lody, LookUp( IceCream, Flavor="Czekoladowe" ), LookUp( IceCream, Flavor="Truskawkowe" ) ) |
Usuwa dwa rekordy ze źródła danych. | Źródło danych IceCream zostało zmodyfikowane. |
RemoveIf( Lody, Ilość > 150 ) | Modyfikuje rekordy, które mają wartość Quantity większą niż 150. | Źródło danych IceCream zostało zmodyfikowane. |
RemoveIf( Lody, Ilość > 150, Lewo( Smak, 1 ) = "S" ) | Usuwa rekordy, które mają wartość Quantity większą niż 150 i wartość Flavor rozpoczynającą się od S. | Źródło danych IceCream zostało zmodyfikowane. |
RemoveIf( Lody, prawda ) | Usuwa wszystkie rekordy ze źródła danych. | Źródło danych IceCream zostało zmodyfikowane. |
Przykłady – usuwanie przycisku poza galerią
W tym przykładzie zostanie użyta kontrolka Gallery, aby wyświetlić rekordy w tabeli. Następnie, funkcji Remove można użyć, aby usunąć wybrany element.
Przygotowanie do danych przykładowych
W tym przykładzie jest używana tabela Kontakty w Microsoft Dataverse, która jest dostępna w przykładowych aplikacjach i danych. Podczas tworzenia środowiska można wdrażać przykładowe aplikacje i dane. Zamiast tego można również użyć innego źródło danych.
Usuwanie przycisku poza galerią
W tym przykładzie użytkownik usunie element, korzystając z przycisku znajdującego się poza galerią.
Utwórz nową pustą aplikację kanwy, korzystając z układu telefonicznego.
W lewym okienku nawigacji wybierz Wstaw.
Wybierz Galerię pionową.
Kontrolka Gallery jest dodawana do ekranu.Zostanie wyświetlony monit o wybranie źródła danych, w którym można wybrać źródło danych z dostępnych źródeł danych.
Na przykład wybierz tabelę Kontakty, aby użyć danych przykładowych:W galerii są pokazy elementów z poniższej tabeli:
Wstaw kontrolkę Button z lewego okienka:
Przenieś dodany przycisk pod elementami galerii:
Odpowiednio aktualizuj tekst przycisku, aby Usunąć rekord. Użytkownik może także zastosować wybrany przez siebie tekst:
Dla właściwości OnSelect tego przycisku ustaw teraz następującą formułę:
Remove( Contacts, Gallery1.Selected )
Kontrolka galerii udostępnia aktualnie wybrany rekord przy użyciu właściwości Selected. Funkcja Remove odwołuje się do tego wybranego rekordu, aby go usunąć.
Wyświetl podgląd aplikacji, korzystając z przycisku Odtwarzaj w górnej części po prawej lub naciśnij klawisz F5 na klawiaturze:
Zaznacz rekord, który chcesz usunąć, taki jak Rekord Nancy w poniższym przykładzie:
WybierzUsuń rekord:
Wybranie przycisku powoduje usunięcie zaznaczonego rekordu (w tym przykładzie rekordu Nancy).
Zamknij podgląd aplikacji.
Napiwek
Można również użyć alternatywnego zachowania klawisza Alt zamiast używać podglądu aplikacji za pomocą przyciskuOdtwórz lub F5.
Przykłady – ikona Kosz może być umieszczony w galerii
W tym przykładzie użytkownik usunie element, korzystając z ikony znajdującej się poza galerią.
Tworzenie kolekcji z przykładowymi danymi
Jeśli są już przygotowane dane przykładowe, pomiń ten krok i przejdź do kosza w galerii.
Dodaj kontrolkę Button do swojego ekranu.
Ustaw właściwość OnSelect na następującą formułę:
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" } )
Trzymając wciśnięty klawisz Alt, kliknij przycisk.
Można utworzyć przykładową kolekcję, która może być używana w następującym przykładzie.
Ikona Kosz może być umieszczony w galerii
Utwórz nową pustą aplikację kanwy, korzystając z układu telefonicznego.
W lewym okienku nawigacji wybierz Wstaw.
Wybierz Galerię pionową.
Kontrolka Gallery jest dodawana do ekranu.Zostanie wyświetlony monit o wybranie źródła danych, w którym można wybrać źródło danych z dostępnych źródeł danych.
Na przykład wybierz tabelę Kontakty, aby użyć danych przykładowych:W przypadku utworzenia kolekcji wybierz ją, a następnie kliknij opcję:
W galerii zaznacz formant, w którym znajduje się pozycja w górnej części.
Aby przed przejściem do następnego kroku sprawdzić, czy następny krok wstawia element do szablonu galerii, ale nie poza galerią, należy się upewnić, że ten krok należy wykonać.
Wybierz polecenie Dodaj ikonę z lewego okienka.
Uwaga
Dodaj ikonę powoduje wstawienie ikony + po lewej stronie galerii, która jest replikowana dla każdego elementu w galerii.
W górnej części okna przesuń ikonę po prawej stronie ekranu.
Wybierz właściwość Icon dla danej ikony i ustaw ją na następujący wzór, aby zaktualizować obraz ikony jako ikonę kosza:
Icon.Trash
Uwaga
Prefiks Icon. jest widoczny tylko wtedy, gdy użytkownik aktywnie edytuje formułę.
Ustaw właściwość OnSelect na następującą formułę:
Remove( [@Contacts], ThisItem )
Uwaga
W tym przykładzie należy użyć globalnego operatora rozsyłania[@...] z przykładami danych, które korzystają z tabeli Kontakty, aby uniknąć konfliktów z relacją jeden do wielu. W przypadku używania źródeł danych, takich jak listy lub tabela programu SQL Server, użycie globalnego wielowymiarowego operatora uściślenia nie jest wymagane.
Wyświetl podgląd aplikacji, korzystając z przycisku Odtwarzaj w górnej części po prawej lub naciśnij klawisz F5 na klawiaturze.
Zaznacz ikonę kosza obok rekordu, na przykład Maria:
Rekord został usunięty:
Zamknij podgląd aplikacji.