Функції «Видалити» та «ВидалитиЯкщо»
Застосовується до: програм 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, яке починається з даних у цій таблиці:
Створення колекції зі зразками записів
Щоб створити колекцію з цими даними, виконайте зазначені нижче дії.
Вставте елемент керування Кнопка.
Для властивості OnSelect елемента керування кнопки встановіть таку формулу:
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
Натисніть кнопку, утримуючи натиснутою клавішу 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 з прикладами програм і даних. Під час створення середовища можна розгортати приклади програм і даних. Можна також використовувати будь-яке інше джерело даних.
Кнопка видалення за межами галереї
У цьому прикладі ви видалите елемент за допомогою кнопки, яка знаходиться за межами галереї.
Створіть нову пусту компоновану програму за допомогою макета для телефону.
В області ліворуч виберіть Вставлення.
Виберіть Вертикальна галерея.
Елемент керування Галерея буде додано на екран.Відобразиться запит на вибір джерела даних, де можна вибрати одне з доступних джерел даних.
Наприклад, виберіть таблицюКонтакти для використання прикладу даних:У колекції відображаються елементи з цієї таблиці.
Вставте елемент керування Кнопка в області ліворуч:
Перемістіть додану кнопку під елементи галереї:
Змініть властивість тексту кнопки на Видалення запису. Можна також використати текст на власний вибір:
Установіть для цього елемента керування «Кнопка» властивість OnSelect із такою формулою:
Remove( Contacts, Gallery1.Selected )
Елемент керування «Галерея» робить вибраний запис доступним за допомогою властивості Вибране. Функція видалення посилається на цей вибраний запис для його видалення.
Перегляньте програму, використовуючи кнопку Відтворення в правому верхньому кутку або натиснувши клавішу 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:
Запис видалено:
Закрийте попередній перегляд програми.