Поділитися через


Remove і RemoveIf функції

Function Відноситься до
Remove Програми Canvas Desktop flows Model-driven apps Power Platform CLI Dataverse functions
RemoveIf Програми canvas Model-driven

Видаляє записи з джерела даних.

Нотатка

Pac CLI pac power-fx команди не підтримують RemoveIf функцію.

Опис

Remove функція

Скористайтеся функцією Remove , щоб видалити певний запис або записи з джерела даних.

Для колекцій має збігатися весь запис. Ви можете використовувати аргумент RemoveFlags.All для видалення всіх копій запису; в іншому випадку видаляється лише одна копія запису.

RemoveIf функція

RemoveIf Використовуйте функцію, щоб видалити запис або записи на основі умови або набору умов. Кожна умова може бути будь-якою формулою, результатом якої є істина або хибність, і може посилатися на стовпці джерела даних за іменами. Кожна умова оцінюється окремо для кожного запису, а запис видаляється, якщо всі умови мають значення істина.

Remove і RemoveIf поверніть змінене джерело даних як таблицю. Обидві функції можна використовувати лише у формулах поведінки.

Крім того, можна скористатися функцією Clear, щоб видалити всі записи в колекції.

Делегування

RemoveIf підтримується лише кількома джерелами даних. Для джерел даних, які не підтримують цю функцію, Power Apps звернеться до сервера та отримає всі дані, що відповідають виразу фільтра, максимум 500 або 2000 записів або розмір сторінки даних. Згодом він видалить кожен із цих записів окремо, зробивши окремі дзвінки на сервер.

Синтаксис

Remove( DataSource, Record1 [, Record2, ... ] [, RemoveFlags.All ] )

  • Джерело даних– Обов’язковий. Джерело даних, що містить запис або записи, які необхідно видалити.
  • Записи – обов’язкові. Запис або записи, які потрібно видалити.
  • RemoveFlags.All – необов’язковий. У колекції один і той же запис може відображатися не раз. Ви можете додати аргумент RemoveFlags.All , щоб видалити всі копії запису.

Remove( DataSource, Table [, RemoveFlags.All ] )

  • Джерело даних– Обов’язковий. Джерело даних, що містить записи, які потрібно видалити.
  • Таблиця – обов’язковий. Таблиця записів для видалення.
  • RemoveFlags.All – необов’язковий. У колекції один і той же запис може відображатися не раз. Ви можете додати аргумент RemoveFlags.All , щоб видалити всі копії запису.

RemoveIf( DataSource, condition [, ... ] )

  • Джерело даних– Обов’язковий. Джерело даних, що містить запис або записи, які необхідно видалити.
  • Умови – обов’язкові. Формула, яка має значення істина для запису або записів, що потрібно видалити. У формулі можна використовувати імена стовпців із DataSource. Якщо вказано кілька умов, усі вони повинні мати значення істина для запису або записів, що потрібно видалити.

Приклади – одиночні формули

У цих прикладах можна видалити запис або записи в джерелі даних під назвою IceCream, яке починається з даних у цій таблиці:

Приклад Iceсream.

Створення колекції зі зразками записів

Щоб створити колекцію з цими даними, виконайте зазначені нижче дії.

  1. Вставте елемент керування Кнопка.

  2. Для властивості OnSelect елемента керування кнопки встановіть таку формулу:

    ClearCollect( IceCream,
                  { ID: 1, Flavor: "Chocolate",  Quantity: 100 },
                  { ID: 2, Flavor: "Vanilla",    Quantity: 200 },
                  { ID: 3, Flavor: "Strawberry", Quantity: 300 }
    )
    
  3. Натисніть кнопку, утримуючи натиснутою клавішу Alt:

Remove зразок записів із колекції за допомогою формули

Формула Опис Результат
Remove(IceCream,
LookUp( Морозиво, Flavor="Шоколад" ))
Видаляє запис Chocolate із джерела даних. В результаті з ваніллю і полуницею.

Джерело даних IceCream було змінено.
Remove(IceCream,
LookUp( IceCream, Flavor="Шоколад" ), LookUp( IceCream, Flavor="Полуниця" ) )
Видаляє два записи з джерела даних. В результаті можна використовувати лише ваніль.

Джерело даних IceCream було змінено.
RemoveIf( IceCream, Кількість > 150 ) Видаляє записи, у яких значення Кількість перевищує 150. В результаті можна використовувати тільки шоколад.

Джерело даних IceCream було змінено.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) Видаляє записи, у яких значення Кількість перевищує 150, а Аромат починається з літери S. В результаті з шоколадом і ваніллю.


Джерело даних IceCream було змінено.
RemoveIf(IceCream, true ) Видаляє всі записи з джерела даних. Результат без морозива.

Джерело даних IceCream було змінено.

У цьому прикладі ви будете використовувати елемент керування Галерея, щоб указати всі записи в таблиці. А потім скористайтеся функцією Remove , щоб вибірково видалити елемент.

Підготування зразків даних

У цьому прикладі використовується таблиця Контакти у Microsoft Dataverse з прикладами програм і даних. Під час створення середовища можна розгортати приклади програм і даних. Можна також використовувати будь-яке інше джерело даних.

У цьому прикладі ви видалите елемент за допомогою кнопки, яка знаходиться за межами галереї.

  1. Створіть нову пусту компоновану програму за допомогою макета для телефону.

    Пуста компонована програма з використанням макета для телефону.

  2. В області ліворуч виберіть Вставлення.

  3. Виберіть Вертикальна галерея.
    Елемент керування Галерея буде додано на екран.

    Використання панелі інструментів «Вставлення» для додавання елемента керування «Вертикальна галерея».

  4. Відобразиться запит на вибір джерела даних, де можна вибрати одне з доступних джерел даних.
    Наприклад, виберіть таблицюКонтакти для використання прикладу даних:

    Вибір таблиці «Контакти» для відображення в колекції.

    У колекції відображаються елементи з цієї таблиці.

    Колекція, додана з таблицею «Контактні особи».

  5. Вставте елемент керування Кнопка в області ліворуч:

    Використання панелі інструментів «Вставлення» для додавання елемента керування «Кнопка».

  6. Перемістіть додану кнопку під елементи галереї:

    Переміщення кнопки.

  7. Оновити текстову властивість кнопки для Remove запису. Можна також використати текст на власний вибір:

    Перейменування кнопки.

  8. Установіть для цього елемента керування «Кнопка» властивість OnSelect із такою формулою:

    Remove( Contacts, Gallery1.Selected )
    

    Настройка властивості OnSelect елемента керування «Кнопка».

    Елемент керування «Галерея» робить вибраний запис доступним за допомогою властивості Вибране. Remove функція посилається на вибраний запис, щоб видалити його.

  9. Перегляньте програму, використовуючи кнопку Відтворення в правому верхньому кутку або натиснувши клавішу F5 на клавіатурі:

    Попередній перегляд програми.

  10. Виберіть запис, який потрібно видалити, наприклад запис Nancy в цьому прикладі:

    Виберіть запис.

  11. Виберіть Remove запис:

    Галерея контактних осіб без запису Nancy, який було видалено.

    Натискання кнопки видаляє вибраний запис (у цьому прикладі – запис Nancy).

  12. Закрийте попередній перегляд програми.

    Чайові

    Можна також використовувати альтернативну поведінку з клавішею Alt замість попереднього перегляду програми з кнопкою Відтворення або клавішею F5.

У цьому прикладі ви видалите елемент за допомогою піктограми, яка знаходиться в галереї.

Створення колекції зі зразками даних

Якщо ви вже підготували зразки даних, пропустіть цей крок і перейдіть до піктограми кошика в галереї.

  1. Додайте елемент керування Кнопка на екран.

  2. Для властивості OnSelect установіть таку формулу:

    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. Натисніть кнопку, утримуючи натиснутою клавішу Alt.

Буде створено зразок колекції, який можна використовувати в нижченаведеному прикладі.

  1. Створіть нову пусту компоновану програму за допомогою макета для телефону.

    Пуста компонована програма з використанням макета для телефону.

  2. В області ліворуч виберіть Вставлення.

  3. Виберіть Вертикальна галерея.
    Елемент керування Галерея буде додано на екран.

    Використання панелі інструментів «Вставлення» для додавання елемента керування «Вертикальна галерея».

  4. Відобразиться запит на вибір джерела даних, де можна вибрати одне з доступних джерел даних.
    Наприклад, виберіть таблицюКонтакти для використання прикладу даних:

    Вибір таблиці «Контакти» для відображення в колекції.

    Якщо ви створили колекцію, виберіть її:

    Зразок колекції контактних осіб.

  5. Виберіть елемент керування у верхньому елементі галереї.

    Щоб під час наступного кроку елемент було вставлено в шаблон галереї, а не за її межі, обов’язково виконайте цей крок, перш ніж перейти до наступного кроку.

    Вибір верхнього запису в галереї.

  6. Виберіть піктограму «Додати» в області ліворуч.

    Використання панелі інструментів «Вставлення» для додавання елемента керування «Піктограма».

    Нотатка

    Додавання іконки вставляє + іконку в лівій частині галереї, яка тиражується для кожного елемента в галереї.

  7. У верхній частині елемента перемістіть піктограму в правий бік екрана.

    Переміщення піктограми.

  8. Виберіть властивість Піктограма для піктограми й встановіть для неї таку формулу, щоб оновити зображення піктограми кошика:

    Icon.Trash
    

    Нотатка

    Префікс Icon. відображається лише під час активного редагування формули.

    Змінення піктограми на піктограму кошика.

  9. Для властивості OnSelect установіть таку формулу:

    Remove( [@Contacts], ThisItem )
    

    Нотатка

    Потрібно використовувати глобальний оператор усунення неоднозначності[@...] у цьому прикладі зі зразком даних, що використовує таблицю Контакти для уникнення конфлікту зі зв'язком Один-до-багатьох. Якщо ви використовуєте джерела даних, такі як список або таблиця сервера SQL, використання глобального оператора неоднозначності не потрібне.

    OnSelect для піктограми кошика.

  10. Перегляньте програму, використовуючи кнопку Відтворення в правому верхньому кутку або натиснувши клавішу F5 на клавіатурі.

  11. Клацніть піктограму кошика поруч із записом, наприклад Maria:

    Галерея, у якій видалено одну контактну особу.

    Запис видалено:

    Видалений запис.

  12. Закрийте попередній перегляд програми.