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


Функції «Видалити» та «ВидалитиЯкщо»

Застосовується до: програм Canvas Командного Power Platform рядка на основі моделі

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

Нотатка

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

Опис

Функція Remove

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

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

Функція RemoveIf

Використовуйте функцію 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. Якщо вказано кілька умов, усі вони повинні мати значення істина для запису або записів, що потрібно видалити.

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

У цих прикладах можна видалити запис або записи в джерелі даних під назвою 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:

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Remove( Contacts, Gallery1.Selected )
    

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

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

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

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

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

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

  11. Натисніть Видалити запис:

    Галерея контактних осіб без запису 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 Server, використання глобального оператора неоднозначності не потрібне.

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

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

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

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

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

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

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