Funções Remove e RemoveIf no Power Apps

Remove registos de uma origem de dados.

Descrição

Função Remove

Utilize a função Remove para remover um ou mais registos específicos de uma origem de dados.

Para as coleções, todo o registo tem de corresponder. Pode utilizar o argumento All para remover todas as cópias de um registo; caso contrário, apenas uma cópia do registo é removida.

Função RemoveIf

Utilize a função RemoveIf para remover um ou mais registos com base numa condição ou num conjunto de condições. Cada condição pode ser uma fórmula que resulta num valor true ou false e pode referenciar colunas da origem de dados por nome. Cada condição é avaliada individualmente para cada registo e cada registo será removido se todas as condições forem avaliadas como verdadeiras.

Remove e RemoveIf devolvem a origem de dados modificada como uma tabela. Pode utilizar ambas as funções apenas em fórmulas de comportamento.

Também pode utilizar a função Clear para remover todos os registos numa coleção.

Delegação

Quando utiliza com uma origem de dados, estas funções não podem ser delegadas. Só será obtida a primeira parte da origem de dados e, em seguida, a função aplicada. O resultado pode não representar o cenário completo. Poderá aparecer um aviso à hora de criação para lembrá-lo desta limitação e para sugerir que mude para alternativas delegáveis sempre que possível. Para mais informações, consulte a descrição geral de delegação.

Sintaxe

Remove( DataSource, Record1 [, Record2, ... ] [, All ] )

  • DataSource – Obrigatório. A origem de dados que contém um ou mais registos que pretende remover.
  • Record(s) – Obrigatório. Um ou mais registos a remover.
  • All – Opcional. Numa coleção, o mesmo registo pode aparecer mais do que uma vez. Pode adicionar o argumento All para remover todas as cópias do registo.

Remove( DataSource, Table [, All ] )

  • DataSource – Obrigatório. A origem de dados que contém os registos que pretende remover.
  • Table – Obrigatório. Uma tabela de registos a remover.
  • All – Opcional. Numa coleção, o mesmo registo pode aparecer mais do que uma vez. Pode adicionar o argumento All para remover todas as cópias do registo.

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

  • DataSource – Obrigatório. A origem de dados que contém um ou mais registos que pretende remover.
  • Condition(s) – Obrigatório. Uma fórmula que avalia como true um ou mais registos a remover. Pode utilizar nomes de colunas do argumento DataSource na fórmula. Se especificar várias Conditions, devem ser todas avaliadas como true para um ou mais registos a remover.

Exemplos - fórmulas únicas

Nestes exemplos, vai remover um ou mais registos de uma origem de dados denominada IceCream e que começa com os dados nesta tabela:

Criar uma coleção com registos de exemplo

Para criar uma coleção com estes dados:

  1. Insira um controlo Button.

  2. Defina a propriedade OnSelect do controlo para a fórmula abaixo:

    ClearCollect( IceCream,
                  { ID: 1, Flavor: "Chocolate",  Quantity: 100 },
                  { ID: 2, Flavor: "Vanilla",    Quantity: 200 },
                  { ID: 3, Flavor: "Strawberry", Quantity: 300 }
    )
    
  3. Selecione o botão enquanto mantém premida a tecla Alt:

Remover registos de exemplo da coleção utilizando uma fórmula

Fórmula Descrição Resultado
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) )
Remove o registo Chocolate da origem de dados.

A origem de dados IceCream foi modificada.
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) First( Filter( IceCream, Flavor="Strawberry" ) ) )
Remove dois registos da origem de dados.

A origem de dados IceCream foi modificada.
RemoveIf( IceCream, Quantity > 150 ) Remove os registos que tenham uma Quantity superior a 150.

A origem de dados IceCream foi modificada.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) Remove os registos que tenham uma Quantity superior a 150 e cujo Flavor comece pela letra S.


A origem de dados IceCream foi modificada.
RemoveIf( IceCream, true ) Remove todos os registos da origem de dados.

A origem de dados IceCream foi modificada.

Neste exemplo, irá utilizar um controlo Galeria para listar os registos numa tabela. E, em seguida, utilize a função Remove para remover seletivamente um item.

Preparar os dados de exemplo

Este exemplo utiliza a entidade Contactos no Microsoft Dataverse disponível com as aplicações e dados de exemplo. Pode implementar aplicações e dados de exemplo quando cria um ambiente. Também pode utilizar qualquer outra origem de dados.

Neste exemplo, irá remover um item utilizando um botão que esteja fora da galeria.

  1. Crie uma nova aplicação de tela em branco através de um Esquema de telefone.

    Uma aplicação de tela em branco através do esquema de telefone

  2. Selecione Inserir no painel de navegação esquerdo.

  3. Selecione Galeria vertical.
    É adicionado um controlo Gallery ao seu ecrã.

    Utilizar o painel de ferramentas Inserir para adicionar um controlo de galeria vertical

  4. É-lhe solicitado que selecione uma origem de dados onde possa selecionar uma origem de dados a partir das origens de dados disponíveis.
    Por exemplo, selecione a entidade Contacts para utilizar dados de exemplo:

    Selecionar a entidade Contactos para apresentar na galeria

    A galeria mostra os itens desta entidade:

    Galeria adicionada a mostrar a entidade Contactos

  5. Insira um controlo Button a partir do painel esquerdo:

    Utilizar o painel de ferramentas Inserir para adicionar um controlo de botão

  6. Mova o botão adicionado abaixo dos itens da galeria:

    Botão Mover

  7. Atualize a propriedade de texto do botão para Remover registo. Também pode utilizar o texto que pretender:

    Mudar o nome do botão

  8. Defina a propriedade OnSelect para este controlo de botão com a seguinte fórmula:

    Remove( Contacts, Gallery1.Selected )
    

    Definir a propriedade OnSelect do controlo de botão

    O controlo de galeria disponibiliza o registo selecionado atualmente utilizando a propriedade Selecionado. A função Remove referencia este registo selecionado para removê-lo.

  9. Pré-visualize a aplicação com o botão Reproduzir na parte superior direita ou prima F5 no teclado:

    Pré-visualizar aplicação

  10. Selecione um registo a remover, como o registo Nancy neste exemplo:

    Selecionar um registo

  11. Selecione Remover registo:

    Galeria de contactos, agora sem o registo Nancy que foi removido

    A seleção do botão remove o registo selecionado (neste exemplo, o registo de Nancy).

  12. Feche a pré-visualização da aplicação.

    Dica

    Também pode utilizar o comportamento alternativo com a tecla Alt em vez de utilizar a pré-visualização da aplicação com o botão Reproduzir ou F5.

Neste exemplo, irá remover um item utilizando um ícone colocado dentro da galeria.

Criar uma coleção com dados de exemplo

Se já tiver dados de exemplo preparados, ignore este passo e vá para o ícone de Caixote do lixo dentro de uma galeria.

  1. Adicione um controlo Button ao seu ecrã.

  2. Defina a propriedade OnSelect à 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" } 
    )
    
  3. Selecione o botão enquanto mantém premida a tecla Alt.

É criada uma coleção de exemplo que pode utilizar no exemplo seguinte.

  1. Crie uma nova aplicação de tela em branco através de um Esquema de telefone.

    Uma aplicação de tela em branco através do esquema de telefone

  2. Selecione Inserir no painel de navegação esquerdo.

  3. Selecione Galeria vertical.
    É adicionado um controlo Gallery ao seu ecrã.

    Utilizar o painel de ferramentas Inserir para adicionar um controlo de galeria vertical

  4. É-lhe solicitado que selecione uma origem de dados onde possa selecionar uma origem de dados a partir das origens de dados disponíveis.
    Por exemplo, selecione a entidade Contacts para utilizar dados de exemplo:

    Selecionar a entidade Contactos para apresentar na galeria

    Se tiver criado uma coleção, selecione a sua coleção:

    Coleção de contactos de exemplo

  5. Selecione um controlo no item superior da galeria.

    Para garantir que o passo seguinte insere o item no modelo da galeria e não fora da galeria, certifique-se de que segue este passo antes de avançar para o passo seguinte.

    Selecionar o registo superior numa galeria

  6. Selecione Adicionar ícone no painel esquerdo.

    Utilizar o painel de ferramentas Inserir para adicionar um controlo de ícone

    Nota

    Adicionar ícone insere um ícone + no lado esquerdo da galeria, replicado para cada item na galeria.

  7. No item superior, mova o ícone para o lado direito do ecrã.

    Ícone Mover

  8. Selecione a propriedade Icon para o ícone e defina-a para a fórmula seguinte para atualizar a imagem de ícone como ícone de lixo:

    Icon.Trash
    

    Nota

    O Ícone. só é mostrado quando está a editar ativamente a fórmula.

    Alterar o ícone para o ícone de caixote do lixo

  9. Defina a propriedade OnSelect à seguinte fórmula:

    Remove( [@Contacts], ThisItem )
    

    Nota

    Tem de utilizar o operador de Desambiguação global [@...] neste exemplo com dados de exemplo que utilizam a entidade Contacts para evitar conflitos com uma relação Um para Muitos. Se utilizar origens de dados, como uma lista do SharePoint ou uma tabela do SQL Server, não é necessário utilizar o operador de Desambiguação global.

    OnSelect para o ícone de lixo

  10. Pré-visualize a aplicação com o botão Reproduzir na parte superior direita ou prima F5 no teclado.

  11. Selecione o ícone de lixo junto a um registo; por exemplo, Maria:

    Galeria com um dos contactos removidos

    O registo é eliminado:

    Registo eliminado

  12. Feche a pré-visualização da aplicação.

Nota

Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)

O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).