Udostępnij przez


Remove i RemoveIf funkcje

Funkcja Odnosi się do
Remove Aplikacje kanwy Dla przepływów klasycznych Aplikacje oparte na modelu Funkcje interfejsu wiersza polecenia platformy Power Platform Dataverse
RemoveIf Aplikacje kanwy oparte 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ą RemoveIf funkcji.

Popis

Funkcja Remove

Remove Użyj funkcji , aby usunąć określony rekord lub rekordy 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

RemoveIf Użyj funkcji , aby usunąć rekord lub rekordy 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.

Remove i RemoveIf zwraca 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

RemoveIf program jest obsługiwany tylko przez kilka źródeł danych. W przypadku źródeł danych, które nie obsługują tej funkcji, Power Apps zapyta serwer i pobierze wszystkie dane pasujące do wyrażenia filtrującego, maksymalnie do 500 lub 2000 rekordów lub rozmiaru strony danych. Następnie usunie każdy z tych rekordów z osobna, wykonując oddzielne wywołania serwera.

Składnia

Remove( Źródło danych, Rekord1 [, Rekord2, ... ] [, RemoveFlags.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.
  • RemoveFlags.All — opcjonalnie. 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( Źródło danych, Tabela [, RemoveFlags.All ] )

  • DataSource – wymagane. Źródło danych zawierające rekordy, które mają zostać usunięte.
  • Tabela – wymagane. Tabela rekordów do usunięcia.
  • RemoveFlags.All — opcjonalnie. 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( Źródło danych, 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:

Przykład Icecream.

Tworzenie kolekcji z przykładowymi rekordami

Aby utworzyć kolekcję z tymi danymi:

  1. Wstaw kontrolkę Button.

  2. 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 }
    )
    
  3. Trzymając wciśnięty klawisz Alt, kliknij przycisk:

Remove przykładowe rekordy z kolekcji przy użyciu formuły

Formuła Popis Result
Remove( IceCream,
LookUp( IceCream, Flavor="Czekoladowe" ))
Usuwa rekord Chocolate ze źródła danych. Wynik z Wanilią i Truskawką.

Źródło danych IceCream zostało zmodyfikowane.
Remove( IceCream,
LookUp( IceCream, Flavor="Czekoladowe" ), LookUp( IceCream, Flavor="Truskawkowe" ) )
Usuwa dwa rekordy ze źródła danych. Wynik tylko z wanilią.

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

Ź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. Rezultat z Czekoladą i Wanilią.


Źródło danych IceCream zostało zmodyfikowane.
RemoveIf( IceCream, true ) Usuwa wszystkie rekordy ze źródła danych. Wynik bez lodów.

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

W tym przykładzie zostanie użyta kontrolka Gallery, aby wyświetlić rekordy w tabeli. Następnie użyj Remove funkcji , aby selektywnie usunąć 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.

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

    Wybieranie tabeli Kontakty do wyświetlenia w galerii.

    W galerii są pokazy elementów z poniższej tabeli:

    Galeria dodana z tabelą Kontakty.

  5. Wstaw kontrolkę Button z lewego okienka:

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

  6. Przenieś dodany przycisk pod elementami galerii:

    Przycisk Przenieś.

  7. Zaktualizuj właściwość tekstowa przycisku, aby zarejestrowaćRemove. 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 Selected. Remove funkcja odwołuje się do tego wybranego 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 Remove 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.

    Napiwek

    Można również użyć alternatywnego zachowania klawisza Alt zamiast używać podglądu aplikacji za pomocą przyciskuOdtwó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ę Button 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 Gallery 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 tabelę Kontakty, aby użyć danych przykładowych:

    Wybieranie tabeli Kontakty do wyświetlenia 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ść 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łę.

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

    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.