Функції «Видалити» та «ВидалитиЯкщо»
Застосовується до: програм Canvas Програм
Power Platform CLI на основі моделі
Видаляє записи з джерела даних.
Нотатка
Команди PAC CLI pac power-fx не підтримують функцію RemoveIf.
Опис
Функція Remove
Використовуйте функцію Remove, щоб видалити певний запис або записи з джерела даних.
Для колекцій має збігатися весь запис. За допомогою аргументу RemoveFlags.All можна видалити всі копії запису, інакше буде видалено лише одну копію запису.
Функція RemoveIf
Використовуйте функцію RemoveIf, щоб видалити запис або записи на основі умови або набору умов. Кожна умова може бути будь-якою формулою, результатом якої є істина або хибність, і може посилатися на стовпці джерела даних за іменами. Кожна умова оцінюється окремо для кожного запису, а запис видаляється, якщо всі умови мають значення істина.
Функції Remove та RemoveIf повертають змінене джерело даних як таблицю. Обидві функції можна використовувати лише у формулах поведінки.
Крім того, можна скористатися функцією Clear, щоб видалити всі записи в колекції.
Делегування
При використанні з джерело даних ці функції не можна делегувати. Буде отримано лише першу частину джерела даних, а потім – застосовано функцію. Можливо, це не повна історія. Під час створення може з’явитися попередження, яке нагадає вам про це обмеження.
Підтримка делегування (експериментальна)
Підтримка делегування для RemoveIf тепер знаходиться в експериментальному підготовча версія (за замовчуванням OFF) для джерел даних, які її підтримують. Якщо джерело даних не підтримує цю функцію, Power Apps надішле запит на сервер і отримає всі дані, які відповідають виразу фільтра, максимум до 500, 2000 або розміру сторінки даних. Потім він виконає операцію видалення кожного з цих записів з окремими викликами до сервера.
Синтаксис
Remove( DataSource,Record1 [, Record2, ... ] [, RemoveFlags.All ])
- DataSource — обов’язковий аргумент. Джерело даних, що містить запис або записи, які необхідно видалити.
- Record(s) — обов'язковий аргумент. Запис або записи, які потрібно видалити.
- RemoveFlags.All – необов’язковий. У колекції один і той же запис може відображатися не раз. Можна додати аргумент RemoveFlags.All , щоб видалити всі копії запису.
Remove( Джерело даних,Таблиця [, RemoveFlags.All ] )
- DataSource — обов’язковий аргумент. Джерело даних, що містить записи, які потрібно видалити.
- Table — обов’язковий аргумент. Таблиця записів для видалення.
- RemoveFlags.All – необов’язковий. У колекції один і той же запис може відображатися не раз. Можна додати аргумент RemoveFlags.All , щоб видалити всі копії запису.
RemoveIf( DataSource, Condition [, ... ] )
- DataSource — обов’язковий аргумент. Джерело даних, що містить запис або записи, які необхідно видалити.
- Condition(s) — обов’язковий аргумент. Формула, яка має значення істина для запису або записів, що потрібно видалити. У формулі можна використовувати імена стовпців із DataSource. Якщо вказано кілька умов, усі вони повинні мати значення істина для запису або записів, що потрібно видалити.
Приклади – одиночні формули
У цих прикладах можна видалити запис або записи в джерелі даних під назвою IceCream, яке починається з даних у цій таблиці:
Створення колекції зі зразками записів
Щоб створити колекцію з цими даними, виконайте зазначені нижче дії.
Вставте елемент керування Кнопка.
Для властивості OnSelect елемента керування кнопки встановіть таку формулу:
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
Натисніть кнопку, утримуючи натиснутою клавішу Alt:
Видалення зразків записів із колекції за допомогою формули
Формула | Опис | Результат |
---|---|---|
Remove( IceCream, LookUp( Морозиво, Flavor="Шоколад" )) |
Видаляє запис Chocolate із джерела даних. | ![]() Джерело даних IceCream було змінено. |
Remove( IceCream, LookUp( Морозиво, Flavor="Шоколад" ), LookUp( Морозиво, Flavor="Полуниця" ) ) |
Видаляє два записи з джерела даних. | ![]() Джерело даних IceCream було змінено. |
RemoveIf( IceCream, Quantity > 150 ) | Видаляє записи, у яких значення Кількість перевищує 150. | ![]() Джерело даних IceCream було змінено. |
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) | Видаляє записи, у яких значення Кількість перевищує 150, а Аромат починається з літери S. | ![]() Джерело даних IceCream було змінено. |
RemoveIf( IceCream, true ) | Видаляє всі записи з джерела даних. | ![]() Джерело даних IceCream було змінено. |
Приклади – кнопка видалення за межами галереї
У цьому прикладі ви будете використовувати елемент керування Галерея, щоб указати всі записи в таблиці. А потім використаєте функцію Remove для вибіркового видалення елемента.
Підготування зразків даних
У цьому прикладі використовується таблиця Контакти у Microsoft Dataverse з прикладами програм і даних. Під час створення середовища можна розгортати приклади програм і даних. Можна також використовувати будь-яке інше джерело даних.
Кнопка видалення за межами галереї
У цьому прикладі ви видалите елемент за допомогою кнопки, яка знаходиться за межами галереї.
Створіть нову пусту компоновану програму за допомогою макета для телефону.
В області ліворуч виберіть Вставлення.
Виберіть Вертикальна галерея.
Елемент керування Галерея буде додано на екран.Відобразиться запит на вибір джерела даних, де можна вибрати одне з доступних джерел даних.
Наприклад, виберіть таблицюКонтакти для використання прикладу даних:У колекції відображаються елементи з цієї таблиці.
Вставте елемент керування Кнопка в області ліворуч:
Перемістіть додану кнопку під елементи галереї:
Змініть властивість тексту кнопки на Видалення запису. Можна також використати текст на власний вибір:
Установіть для цього елемента керування «Кнопка» властивість OnSelect із такою формулою:
Remove( Contacts, Gallery1.Selected )
Елемент керування «Галерея» робить вибраний запис доступним за допомогою властивості Вибране. Функція Remove посилається на цей вибраний запис, щоб видалити його.
Перегляньте програму, використовуючи кнопку Відтворення в правому верхньому кутку або натиснувши клавішу F5 на клавіатурі:
Виберіть запис, який потрібно видалити, наприклад запис Nancy в цьому прикладі:
Натисніть Видалити запис:
Натискання кнопки видаляє вибраний запис (у цьому прикладі – запис Nancy).
Закрийте попередній перегляд програми.
Чайові
Можна також використовувати альтернативну поведінку з клавішею Alt замість попереднього перегляду програми з кнопкою Відтворення або клавішею F5.
Приклади для піктограми кошика в галереї
У цьому прикладі ви видалите елемент за допомогою піктограми, яка знаходиться в галереї.
Створення колекції зі зразками даних
Якщо ви вже підготували зразки даних, пропустіть цей крок і перейдіть до піктограми кошика в галереї.
Додайте елемент керування Кнопка на екран.
Для властивості 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" } )
Натисніть кнопку, утримуючи натиснутою клавішу Alt.
Буде створено зразок колекції, який можна використовувати в нижченаведеному прикладі.
Піктограма кошика в галереї
Створіть нову пусту компоновану програму за допомогою макета для телефону.
В області ліворуч виберіть Вставлення.
Виберіть Вертикальна галерея.
Елемент керування Галерея буде додано на екран.Відобразиться запит на вибір джерела даних, де можна вибрати одне з доступних джерел даних.
Наприклад, виберіть таблицюКонтакти для використання прикладу даних:Якщо ви створили колекцію, виберіть її:
Виберіть елемент керування у верхньому елементі галереї.
Щоб під час наступного кроку елемент було вставлено в шаблон галереї, а не за її межі, обов’язково виконайте цей крок, перш ніж перейти до наступного кроку.
Виберіть піктограму «Додати» в області ліворуч.
Нотатка
Піктограма «Додати» вставляє піктограму + у лівій частині галереї, репліковану для кожного елемента в галереї.
У верхній частині елемента перемістіть піктограму в правий бік екрана.
Виберіть властивість Піктограма для піктограми й встановіть для неї таку формулу, щоб оновити зображення піктограми кошика:
Icon.Trash
Нотатка
Префікс Icon. відображається лише під час активного редагування формули.
Для властивості OnSelect установіть таку формулу:
Remove( [@Contacts], ThisItem )
Нотатка
Потрібно використовувати глобальний оператор усунення неоднозначності[@...] у цьому прикладі зі зразком даних, що використовує таблицю Контакти для уникнення конфлікту зі зв'язком Один-до-багатьох. Якщо використовуються такі джерела даних, як список або таблиця SQL Server, використання глобального оператора неоднозначності не потрібне.
Перегляньте програму, використовуючи кнопку Відтворення в правому верхньому кутку або натиснувши клавішу F5 на клавіатурі.
Клацніть піктограму кошика поруч із записом, наприклад Maria:
Запис видалено:
Закрийте попередній перегляд програми.
Зворотний зв’язок
https://aka.ms/ContentUserFeedback.
Очікується незабаром: протягом 2024 року ми будемо припиняти використання механізму реєстрації проблем у GitHub для зворотного зв’язку щодо вмісту й замінювати його новою системою зворотного зв’язку. Докладніше:Надіслати й переглянути відгук про