Премахване и премахванеАко функции

Отнася се за: Canvas apps Model-driven apps Power Platform CLI

Премахва записи от източник на данни.

Бележка

Командите PAC CLI pac power-fx не поддържат функцията RemoveIf .

Описание

Функция Remove

Използвайте Remove функция за премахване на конкретен запис или записи от източник на данни.

За колекции, целият запис трябва да съвпада. Можете да използвате аргумента RemoveFlags.All , за да премахнете всички копия на запис; в противен случай се премахва само едно копие на записа.

Функция RemoveIf

Използвайте RemoveIf функция за премахване на запис или записи въз основа на условие или набор от условия. Всяко условие може да бъде всяка формула, която води до вярно или невярно и може да се позовава колони от източник на данни по име. Всяко условие се оценява индивидуално за всеки запис и записът се премахва, ако всички условия оценяват вярно.

Remove и RemoveIf връщат модифицирания източник на данни като таблица. Можете да използвате и двете функции само във формули на поведение.

Можете също да използвате Clear функция за премахване на всички записи в колекция.

Делегиране

Когато се използват с източник на данни, тези функции не могат да бъдат делегирани. Ще се извлече само първата част на източника на данни, след което ще се приложи функцията. Това може да не представлява цялата история. По време на авторството може да се появи предупреждение, което да ви напомни за това ограничение.

Подкрепа за делегиране (експериментална)

Поддръжката на делегиране за RemoveIf сега е в Experimental Preview (OFF по подразбиране) за източници на данни, които го поддържат. Ако даден източник на данни не поддържа тази функция, ще изпрати заявка до сървъра и ще извлече всички данни, Power Apps които съответстват на израза на филтъра до максимума от 500, 2000 или размера на страницата с данни. След това ще извърши операция за изтриване на всеки от тези записи с индивидуални повиквания към сървъра.

Синтаксис

Премахване( DataSource,Record1[,Record2 ,... ] [, RemoveFlags.All ] )

  • DataSource – Задължително. Източникът на данни, който съдържа записа или записите, които искате да премахнете.
  • Record(s) – Задължително. Записът или записите за премахване.
  • RemoveFlags.All – По избор. В колекция един и същ запис може да се появи повече от веднъж. Можете да добавите аргумента RemoveFlags.All , за да премахнете всички копия на записа.

Премахване ( Източник на данни,Таблица [,RemoveFlags.All ] )

  • DataSource – Задължително. Източникът на данни, който съдържа записите, които искате да премахнете.
  • Table – Задължително. Таблица от записи, които да премахнете.
  • RemoveFlags.All – По избор. В колекция един и същ запис може да се появи повече от веднъж. Можете да добавите аргумента RemoveFlags.All , за да премахнете всички копия на записа.

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

  • DataSource – Задължително. Източникът на данни, който съдържа записа или записите, които искате да премахнете.
  • Condition(s) – Задължително. Формула, която оценява до вярно за запис или записи, които да бъдат премахнати. Можете да използвате имена на колони от DataSource във формулата. Ако посочите множество условия, всички трябва да оценяват вярно за запис или записи, които трябва да бъдат премахнати.

Примери - единични формули

В тези примери ще премахнете запис или записи в име с име източник на данни Сладолед и това започва с данните в тази таблица:

Пример за сладолед.

Създайте колекция с примерни записи

За да създадете колекция с тези данни:

  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,:

Премахнете примерни записи от колекцията с помощта на формула

Формула Описание Result
Remove( IceCream,
LookUp( Сладолед, Flavor="Шоколад"))
Премахва Шоколад записа от източник на данни. Резултат с ванилия и ягода.

Източникът на данни Сладолед също е модифицирана.
Remove( IceCream,
LookUp (сладолед, аромат = "шоколад"), LookUp (сладолед, аромат = "ягода")
Премахва два записа от източника на данни. Резултат само с ванилия.

Източникът на данни Сладолед също е модифицирана.
RemoveIf( IceCream, Quantity > 150 ) Премахва записи, които имат количество по-голямо от 150. Резултатът е само с шоколад.

Източникът на данни Сладолед също е модифицирана.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) Премахва записи, които имат количество по-голямо от 150 и вкус, който започва с S. Резултат с шоколад и ванилия.


Източникът на данни Сладолед също е модифицирана.
RemoveIf( IceCream, true ) Премахва всички записи от източника на данни. Резултатът е без сладолед.

Източникът на данни Сладолед също е модифицирана.

В този пример ще използвате галерия контрола за изброяване на записите в таблица. След това използвайте функцията Remove за селективно премахване на елемент.

Подгответе се за примерни данни

Този пример използва Контакти таблица в Microsoft Dataverse на разположение с примерни приложения и данни. Можете да разгърнете примерни приложения и данни, когато създадете среда. Можете също да използвате вместо това всеки друг източник на данни.

В този пример ще премахнете елемент, като използвате бутон извън галерията.

  1. Създайте ново празно приложение за платно, използвайки оформление на телефона.

    Празно приложение за платно с помощта на оформление на телефона.

  2. Изберете Вмъкване от левия екран.

  3. Изберете Вертикална галерия.
    Контрола галерия се добавя към вашия екран.

    Използване на панела с инструменти „Вмъкване” за добавяне на вертикална контрола на галерията.

  4. Ще бъдете подканени да изберете източник на данни, където можете да изберете източник на данни от наличните източници на данни.
    Например изберете Контакти таблица за използване на примерни данни:

    Избиране на таблицата с контакти за показване в галерията.

    Галерията показва елементи от тази таблица:

    Добавена е галерия, показваща таблицата с контакти.

  5. Вмъкнете контрола бутон от левия панел:

    Използване на панела с инструменти „Вмъкване”, за да добавите контрола на бутон.

  6. Преместете добавения бутон под елементите на галерията:

    Преместване на бутон.

  7. Актуализирайте свойството на текста на бутона на Премахване на записа. Можете също да използвате текст по ваш избор:

    Преименуване на бутона.

  8. Задайте свойството OnSelect за този бутон на следната формула:

    Remove( Contacts, Gallery1.Selected )
    

    Задаване на свойството OnSelect на контролата на бутон.

    Контролата галерия прави избрания в момента запис наличен чрез използване на свойството Избрани. Remove функцията се отнася до този избран запис, за да го премахне.

  9. Визуализирайте приложението с помощта на бутона Възпроизвеждане в горния десен ъгъл или натиснете F5 на клавиатурата:

    Преглед на приложението.

  10. Изберете запис, който да премахнете, като например записа на Nancy в този пример:

    Изберете запис.

  11. Изберете Премахване на запис:

    Галерия от контакти, вече без записа на Нанси, който е премахнат.

    Избирането на бутона премахва избрания запис (в този пример, записа на Нанси).

  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. Изберете например иконата за кошче, например до на Мария:

    Галерия с премахнат един от контактите.

    Записът е изтрит:

    Изтрит запис.

  12. Затворете прегледа на приложение.