Funkcje Remove i RemoveIf usługi Power Apps

Funkcje te służą do usuwania rekordów ze źródła danych.

Opis

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 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.

Zarówno funkcja Remove, jak i RemoveIf zwracają zmodyfikowane źródło danych w postaci tabeli. 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. Wynik może nie odpowiadać pełnym informacjom. W czasie tworzenia może zostać wyświetlone ostrzeżenie przypominające o tym ograniczeniu i sugerujące użycie delegowalnych alternatyw, jeśli jest to możliwe. Aby uzyskać więcej informacji, zobacz Omówienie delegowania.

Składnia

Remove( ŹródłoDanych, Rekord1 [, Rekord2, ... ] [, All ] )

  • DataSource – wymagane. Źródło danych zawierające co najmniej jeden rekord, który ma zostać usunięty.
  • Rekord(y) – wymagane. Rekord lub rekordy do usunięcia.
  • All – opcjonalne. W kolekcji ten sam rekord może występować więcej niż raz. Możesz podać argument All, aby usunąć wszystkie kopie rekordu.

Remove( ŹródłoDanych, Tabela [, All ] )

  • DataSource – wymagane. Źródło danych zawierające rekordy, które mają zostać usunięte.
  • Tabela – wymagane. Tabela rekordów do usunięcia.
  • All – opcjonalne. W kolekcji ten sam rekord może występować więcej niż raz. Możesz podać argument All, aby usunąć wszystkie kopie rekordu.

RemoveIf( ŹródłoDanych, Warunek [, ... ] )

  • DataSource – wymagane. Źródło danych zawierające co najmniej jeden rekord, który ma zostać usunięty.
  • Condition(s) – 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:

  1. Wstaw kontrolkę Przycisk.

  2. Dla właściwości kontrolki OnSelect przycisku 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 }
    )
    
  3. Trzymając wciśnięty klawisz Alt, kliknij przycisk:

Usuwanie przykładowych rekordów z kolekcji przy użyciu formuły

Wzór Opis Wynik
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) )
Usuwa rekord Chocolate ze źródła danych.

Źródło danych IceCream zostało zmodyfikowane.
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) First( Filter( IceCream, Flavor="Strawberry" ) ) )
Usuwa dwa rekordy ze źródła danych.

Źródło danych IceCream zostało zmodyfikowane.
RemoveIf( IceCream, Quantity > 150 ) Modyfikuje rekordy, które mają wartość Quantity większą niż 150.

Źródło danych IceCream zostało zmodyfikowane.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 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( IceCream, true ) Usuwa wszystkie rekordy ze źródła danych.

Źródło danych IceCream zostało zmodyfikowane.

W tym przykładzie zostanie użyta kontrolka Galeria, 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 zastosowano encję Contacts w Microsoft Dataverse, dostępną razem z przykładowymi aplikacjami i danymi. 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.

W tym przykładzie użytkownik usunie element, korzystając z przycisku znajdującego się poza galerią.

  1. Utwórz nową pustą aplikację kanwy, korzystając z układu telefonicznego.

    Pusta aplikacja kanwy, korzystająca z układu telefonicznego.

  2. W lewym okienku nawigacji wybierz Wstaw.

  3. Wybierz Galerię pionową.
    Kontrolka Galeria jest dodawana do ekranu.

    Korzystanie z okienka narzędzi Wstaw w celu dodania formantu galerii pionowej

  4. 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 encję Kontakty, aby użyć przykładowych danych:

    Wybieranie encji kontaktów, które mają być wyświetlane w galerii

    W galerii są wyświetlane elementy z tej encji:

    Dodano galerię pokazującą encję kontakty

  5. Wstaw kontrolkę Przycisk z lewego okienka:

    Korzystanie z okienka narzędzi Wstaw w celu dodania formantu przycisku

  6. Przenieś dodany przycisk pod elementami galerii:

    Przycisk Przenieś

  7. Odpowiednio aktualizuj tekst przycisku, aby Usunąć rekord. Użytkownik może także zastosować wybrany przez siebie tekst:

    Zmień nazwę przycisku

  8. Dla właściwości OnSelect tego przycisku ustaw teraz następującą formułę:

    Remove( Contacts, Gallery1.Selected )
    

    Ustawianie właściwość OnSelect kontrolki Przycisk na:

    Kontrolka galerii udostępnia aktualnie wybrany rekord przy użyciu właściwości Wybrane. Funkcja Remove odwołuje się do zaznaczonego rekordu, aby go usunąć.

  9. Wyświetl podgląd aplikacji, korzystając z przycisku Odtwarzaj w górnej części po prawej lub naciśnij klawisz F5 na klawiaturze:

    Wersja zapoznawcza aplikacji

  10. Zaznacz rekord, który chcesz usunąć, taki jak Rekord Nancy w poniższym przykładzie:

    Wybierz rekord

  11. Wybierz Usuń rekord:

    Galerię kontaktów, ale bez rekordu Nancy, który został usunięty

    Wybranie przycisku powoduje usunięcie zaznaczonego rekordu (w tym przykładzie rekordu Nancy).

  12. Zamknij podgląd aplikacji.

    Porada

    Można również użyć alternatywnego zachowania klawisza Alt zamiast używać podglądu aplikacji za pomocą przycisku Odtwórz lub F5.

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.

  1. Dodaj kontrolkę Przycisk do swojego ekranu.

  2. 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" } 
    )
    
  3. 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.

  1. Utwórz nową pustą aplikację kanwy, korzystając z układu telefonicznego.

    Pusta aplikacja kanwy, korzystająca z układu telefonicznego.

  2. W lewym okienku nawigacji wybierz Wstaw.

  3. Wybierz Galerię pionową.
    Kontrolka Galeria jest dodawana do ekranu.

    Korzystanie z okienka narzędzi Wstaw w celu dodania formantu galerii pionowej

  4. 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 encję Kontakty, aby użyć przykładowych danych:

    Wybieranie encji kontaktów, które mają być wyświetlane w galerii

    W przypadku utworzenia kolekcji wybierz ją, a następnie kliknij opcję:

    Przykładowa kolekcja kontaktów

  5. 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ć.

    Zaznaczanie najwyższego rekordu w galerii

  6. Wybierz polecenie Dodaj ikonę z lewego okienka.

    Korzystanie z okienka narzędzi Wstaw w celu dodania kontrolki ikony

    Uwaga

    Funkcja Dodaj ikonę wstawia ikonę + po lewej stronie galerii, która jest replikowana dla każdego elementu w galerii.

  7. W górnej części okna przesuń ikonę po prawej stronie ekranu.

    Ikona Przenieś

  8. Wybierz właściwość Ikona dla danej ikony i ustaw ją na następujący wzór, aby zaktualizować obraz ikony jako ikonę kosza:

    Icon.Trash
    

    Uwaga

    Ikona. Prefiks jest widoczny tylko wtedy, gdy użytkownik aktywnie edytuje formułę.

    Zmiana ikony na ikonę kosz

  9. Ustaw właściwość OnSelect na następującą formułę:

    Remove( [@Contacts], ThisItem )
    

    Uwaga

    W tym przykładzie należy użyć globalnego wielowymiarowego operatora uściślania [@...] w rozwiązaniu z przykładowymi danymi korzystającymi z encji Kontakty w celu uniknięcia konfliktu z relacją jeden-do-wielu. W przypadku używania źródeł danych, takich jak listy SharePoint lub tabela programu SQL Server, użycie globalnego wielowymiarowego operatora uściślenia nie jest wymagane.

    Formuła OnSelect przypisana ikonie „Kosz”

  10. Wyświetl podgląd aplikacji, korzystając z przycisku Odtwarzaj w górnej części po prawej lub naciśnij klawisz F5 na klawiaturze.

  11. Zaznacz ikonę kosza obok rekordu, na przykład Maria:

    Galerię z usuniętym jednym z kontaktów

    Rekord został usunięty:

    Usunięty rekord

  12. Zamknij podgląd aplikacji.