Funções Remove e RemoveIf
Aplica-se a: Aplicativos Canvas Aplicativos baseados em modelo Power Platform CLI
Remove os registros de uma fonte de dados.
Observação
Os comandos PAC CLI pac power-fx não suportam a 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 retornam o fonte de dados modificado 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
Quando usadas com uma fonte de dados, estas funções não podem ser delegadas. Somente a primeira parte da fonte de dados será recuperada e então a função será aplicada. Esse resultado pode não representar a situação completa. Um aviso pode aparecer no momento da criação para lembrar você dessa limitação.
Suporte à delegação (Experimental)
O suporte à delegação para RemoveIf agora está em Versão Prévia Experimental (padrão OFF) para fontes de dados compatíveis. Se uma fonte de dados não oferecer suporte a esse recurso, o Power Apps enviará uma consulta ao servidor e recuperará todos os dados que correspondam à expressão do filtro até o máximo de 500, 2.000 ou o tamanho da página de dados. Em seguida, ele executará uma operação de exclusão em cada um desses registros com chamadas individuais para o servidor.
Sintaxe
Remover( Fonte de Dados, Registro1 [, Registro2, ... ] [, RemoveFlags.All ] )
- DataSource – Obrigatório. A fonte de dados que contém o registro ou os registros que você deseja remover.
- Registros – 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.
Remover( DataSource, Tabela [, RemoveFlags .Todos ] )
- DataSource – Obrigatório. A fonte de dados que contém o registro ou os registros que você deseja remover.
- Tabela – 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( Fonte de Dados, Condição [, ... ] )
- DataSource – Obrigatório. A fonte de dados que contém o registro ou os registros que você deseja remover.
- Condições – 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 |
---|---|---|
Remover( Sorvete, LookUp( IceCream, Flavor="Chocolate" )) |
Remove o registro Chocolate da fonte de dados. | A fonte de dados IceCream foi modificada. |
Remover( Sorvete, LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
Remove os dois registros da fonte de dados. | A fonte de dados IceCream foi modificada. |
RemoveIf(Sorvete, Quantidade > 150 ) | Remove os registros que possuem Quantity maior do que 150. | A fonte de dados IceCream foi modificada. |
RemoveIf( IceCream, Quantidade > 150, Restante( Sabor, 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(Sorvete, verdadeiro) | 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 no lado esquerdo da galeria, replicado para cada item na 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.