Funções Remove e RemoveIf
Aplica-se a: Aplicativos de tela Aplicativos baseados em modelo CLI do Power Platform
Remove os registros de uma fonte de dados.
Observação
Os comandos pac power-fx da CLI do PAC não oferecem suporte à função RemoveIf.
Description
Função Remove
Use a função Remove para remover um ou mais registros específicos de uma fonte de dados.
Para coleções, todo o registro deve ser correspondente. Você pode usar o argumento RemoveFlags.All para remover todas as cópias de um registro; caso contrário, apenas uma cópia do registro é removida.
Função RemoveIf
Use a função RemoveIf para remover um ou mais registros com base em uma condição ou um conjunto de condições. Cada condição pode ser qualquer fórmula que resulta em true ou false e pode fazer referência às colunas da fonte de dados pelo nome. Cada condição é avaliada individualmente para cada registro e o registro é removido se todas as condições são avaliadas como true.
Remove e RemoveIf retorna a fonte de dados modificada como uma tabela. Você pode usar ambas as funções somente nas fórmulas de comportamento.
Você também pode usar a função Clear para remover todos os registros em uma coleção.
Delegação
RemoveIf é suportado por apenas algumas fontes de dados. Para fontes de dados não compatíveis com esse recurso, o Power Apps consultará o servidor e recuperará todos os dados correspondente à expressão do filtro até o máximo de 500 ou 2.000 registros ou o tamanho da página de dados. Posteriormente, ele excluirá cada um desses registros individualmente, fazendo chamadas separadas para o servidor.
Sintaxe
Remove( DataSource, Record1 [, Record2, ... ] [, RemoveFlags.All ] )
- DataSource – Obrigatório. A fonte de dados que contém o registro ou os registros que você deseja remover.
- Record(s) – Obrigatório. O registro ou registros a serem removidos.
- RemoveFlags.All – Opcional. Em uma coleção, o mesmo registro pode aparecer mais de uma vez. Você pode adicionar o argumento RemoveFlags.All para remover todas as cópias do registro.
Remove( DataSource, Table [, RemoveFlags.All ] )
- DataSource – Obrigatório. A fonte de dados que contém o registro ou os registros que você deseja remover.
- Table – Obrigatório. Uma tabela dos registros a serem removidos.
- RemoveFlags.All – Opcional. Em uma coleção, o mesmo registro pode aparecer mais de uma vez. Você pode adicionar o argumento RemoveFlags.All para remover todas as cópias do registro.
RemoveIf( DataSource, Condition [, ... ] )
- DataSource – Obrigatório. A fonte de dados que contém o registro ou os registros que você deseja remover.
- Condition(s) – Obrigatório. Uma fórmula que é avaliada como true para o registro ou registros a serem removidos. Você pode usar nomes de coluna de DataSource na fórmula. Se você especificar vários Conditions, todas devem ser avaliadas como true para o registro ou registros serem removidos.
Exemplos - fórmulas únicas
Nesses exemplos, você removerá um ou mais registros em uma fonte de dados chamada IceCream e que começa com os dados nesta tabela:
Criar uma coleção com registros de amostra
Para criar uma coleção com esses dados:
Insira um controle Button.
Defina a propriedade OnSelect do controle button como a fórmula abaixo:
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
Selecione o botão enquanto mantém pressionado a tecla Alt:
Remova os registros de amostra da coleção usando uma fórmula
Fórmula | Description | Result |
---|---|---|
Remove( IceCream, LookUp( IceCream, Flavor="Chocolate" )) |
Remove o registro Chocolate da fonte de dados. | A fonte de dados IceCream foi modificada. |
Remove( IceCream, LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
Remove os dois registros da fonte de dados. | A fonte de dados IceCream foi modificada. |
RemoveIf( IceCream, Quantity > 150 ) | Remove os registros que possuem Quantity maior do que 150. | A fonte de dados IceCream foi modificada. |
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) | Remove os registros que possuem Quantity maior do que 150 e Flavor começando com S. | A fonte de dados IceCream foi modificada. |
RemoveIf( IceCream, true ) | Remove os dois registros da fonte de dados. | A fonte de dados IceCream foi modificada. |
Exemplos - botão remover fora de uma galeria
Neste exemplo, você usará um controle Gallery para listar os registros em uma tabela. E depois use função Remove para selecionar qual item remover.
Preparar para dados de exemplo
Este exemplo usa a tabela Contacts no Microsoft Dataverse disponível com os aplicativos e dados de exemplo. Você pode implantar aplicativos e dados de amostra quando você criar um ambiente. Você também pode usar qualquer outra fonte de dados.
Remover botão remover fora de uma galeria
Neste exemplo, você removerá um item usando um botão que está fora da galeria.
Crie um novo aplicativo de tela em branco usando um layout de telefone.
Selecione Inserir no painel esquerdo.
Selecione Galeria vertical.
Um controle Gallery é adicionado à sua tela.Você é solicitado a selecionar uma fonte de dados, onde é possível selecionar uma fonte de dados nas fontes de dados disponíveis.
Por exemplo, selecione a tabela Contacts para usar dados de exemplo:A galeria mostra itens desta tabela:
Inserir um controle Button no painel esquerdo:
Mova o botão adicionado abaixo dos itens da galeria:
Atualize a propriedade de texto do botão para Remover registro. Você também pode usar o texto de sua preferência:
Defina a propriedade OnSelect deste controle de botão para a fórmula a seguir:
Remove( Contacts, Gallery1.Selected )
O controle da galeria disponibiliza o registro selecionado atualmente usando propriedade Selected. A função Remove refere-se a este registro selecionado para removê-lo.
Visualize o aplicativo usando o botão Reproduzir no canto superior direito ou pressione F5 no teclado:
Selecione um registro para remover, como registro Nancy neste exemplo:
Selecione Remover registro:
Selecionar o botão remove o registro selecionado (neste exemplo, o registro Nancy).
Feche a visualização do aplicativo.
Gorjeta
Você também pode usar um comportamento alternativo com Tecla Alt em vez de usar a visualização do aplicativo com botão Toque ou F5.
Exemplos - ícone de lixeira dentro de uma galeria
Neste exemplo, você removerá um item usando um ícone dentro da galeria.
Criar uma coleção com dados de exemplo
Se você já tem dados de amostra preparados, pule esta etapa e vá para Ícone de lixeira dentro de uma galeria.
Adicione um controle Button na tela.
Defina a propriedade OnSelect com a seguinte fórmula:
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" } )
Selecione o botão enquanto mantém pressionado a tecla Alt.
É criada uma coleção de amostras que você pode usar no exemplo a seguir.
Ícone de lixeira dentro de uma galeria
Crie um novo aplicativo de tela em branco usando um layout de telefone.
Selecione Inserir no painel esquerdo.
Selecione Galeria vertical.
Um controle Gallery é adicionado à sua tela.Você é solicitado a selecionar uma fonte de dados, onde é possível selecionar uma fonte de dados nas fontes de dados disponíveis.
Por exemplo, selecione a tabela Contacts para usar dados de exemplo:Se você criou uma coleção, em vez disso, selecione sua coleção:
Selecione um controle no item superior da galeria.
Para garantir que a próxima etapa insira o item no modelo da galeria e não fora da galeria, siga esta etapa antes de passar para a próxima etapa.
Selecione Adicionar ícone no painel esquerdo.
Observação
Adicionar ícone insere um ícone + ao lado esquerdo da galeria, replicado para cada item da galeria.
No item superior, mova o ícone para o lado direito da tela.
Selecione a propriedade Icon para ícone e defina-a com a seguinte fórmula para atualizar a imagem do ícone como ícone da lixeira:
Icon.Trash
Nota
O prefixo Icon. é mostrado apenas quando você está editando ativamente a fórmula.
Defina a propriedade OnSelect com a seguinte fórmula:
Remove( [@Contacts], ThisItem )
Observação
Você deve usar o operador de desambiguação global[@...] neste exemplo com dados de exemplo que usem a tabela Contacts para evitar conflito com um relacionamento um-para-muitos. Se você usar fontes de dados como uma lista ou tabela do SQL Server, não é necessário usar operador de desambiguação global.
Visualize o aplicativo usando o Reproduzir no canto superior direito ou pressione F5 no teclado.
Selecione o ícone da lixeira ao lado de um registro, por exemplo, Maria:
O registro é excluído:
Feche a visualização do aplicativo.