Funcións Remove e RemoveIf en Power Apps

Elimina rexistros dunha orixe de datos.

Descripción

Función Remove

Use a función Remove para eliminar un rexistro ou rexistros específicos dunha orixe de datos.

Para as coleccións, o rexistro completo debe coincidir. Pode usar o argumento All para eliminar todas as copias dun rexistro; se non, só se elimina unha copia do rexistro.

Función RemoveIf

Use a función RemoveIffunción para eliminar un rexistro ou rexistros baseados nunha condición ou un conxunto de condicións. Cada condición pode ser calquera fórmula que dea como resultado un verdadeiro ou falso e pode facer referencia a columnas da orixe de datos polo seu nome. Cada condición avalíase individualmente para cada rexistro, e o rexistro elimínase se todas as condicións se avalían como verdadeiro.

Remove e RemoveIF devolven a orixe de datos modificada como unha táboa. Só pode usar estas dúas funcións en fórmulas de comportamento.

Tamén pode usar a función Clear para eliminar todos os rexistros dunha colección.

Delegación

Estas funcións, cando se usan cunha orixe de datos, non se poden delegar. Só se recuperará a primeira parte da orixe de datos e logo a función aplicada. Pode que o resultado non represente o historial completo. É posible que se mostre un aviso na fase de creación para lembrarlle desta limitación e suxerirlle que mude a alternativas delegables sempre que sexa posible. Para obter máis información, consulte a visión xeral da delegación.

Sintaxe

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

  • DataSource: necesario. A orixe de datos que contén o rexistro ou rexistros que desexa eliminar.
  • Record(s): Obrigatorio. O rexistro ou rexistros que hai que eliminar.
  • All: Opcional. Nunha colección, o mesmo rexistro pode aparecer máis dunha vez. Pode engadir o argumento All para eliminar todas as copias do rexistro.

Remove( DataSource, Table [, All ] )

  • DataSource: necesario. A orixe de datos que contén os rexistros que desexa eliminar.
  • Table: Obrigatorio. Unha táboa de rexistros para eliminar.
  • All: Opcional. Nunha colección, o mesmo rexistro pode aparecer máis dunha vez. Pode engadir o argumento All para eliminar todas as copias do rexistro.

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

  • DataSource: necesario. A orixe de datos que contén o rexistro ou rexistros que desexa eliminar.
  • Condition(s): Obrigatorio. Unha fórmula que avalía se é verdadeiro para o rexistro ou os rexistros que hai que eliminar. Pode usar nomes de columna de DataSource na fórmula. Se especifica varias Condicións, todas deben avaliarse como verdadeiro para que se elimine o rexistro ou os rexistros.

Exemplos: fórmulas individuais

Nestes exemplos, eliminará un rexistro ou rexistros nunha orixe de datos chamada IceCream e iso comeza cos datos desta táboa:

Crear unha colección con rexistros de mostra

Para crear unha colección con estes datos:

  1. Insira un control de botón.

  2. Axuste a propiedade OnSelect do botón de botón na fórmula seguinte:

    ClearCollect( IceCream,
                  { ID: 1, Flavor: "Chocolate",  Quantity: 100 },
                  { ID: 2, Flavor: "Vanilla",    Quantity: 200 },
                  { ID: 3, Flavor: "Strawberry", Quantity: 300 }
    )
    
  3. Seleccione o botón mantendo premida a tecla Alt:

Eliminar os rexistros de mostra da colección usando unha fórmula

Fórmula Descripción Resultado
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) )
Elimina o rexistro Chocolate da orixe de datos.

A orixe de datos IceCream modificouse.
Remove( IceCream,
First( Filter( IceCream, Flavor="Chocolate" ) ) First( Filter( IceCream, Flavor="Strawberry" ) ) )
Elimina dous rexistros da orixe de datos.

A orixe de datos IceCream modificouse.
RemoveIf( IceCream, Quantity > 150 ) Elimina os rexistros que teñen unha Cantidade que é maior que 150.

A orixe de datos IceCream modificouse.
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) Elimina os rexistros que teñen unha Cantidade que é maior que 150 e cuxo valor Flavor comeza por un S.


A orixe de datos IceCream modificouse.
RemoveIf( IceCream, true ) Elimina todos os rexistros da orixe de datos.

A orixe de datos IceCream modificouse.

Neste exemplo, empregará un control de Galería para enumerar os rexistros dunha táboa. A continuación, use a función Remove para eliminar selectivamente un elemento.

Preparar os datos de mostra

Este exemplo usa a entidade Contactos en Common Data Service dispoñible coas aplicacións e datos de mostra. Pode implantar aplicacións e datos de mostra ao crear un ambiente. No seu lugar tamén pode usar calquera outra orixe de datos.

Neste exemplo, eliminará un elemento usando un botón que está fóra da galería.

  1. Cree unha nova aplicación de lenzo en branco usando un deseño de teléfono.

    Aplicación de lenzo en branco usando o deseño de teléfono

  2. No panel esquerdo, seleccione Inserir.

  3. Seleccione Galería vertical.
    Un control de Galería engadirase á súa pantalla.

    Usar o panel de ferramentas Inserir para engadir un control de galería vertical

  4. Solicítaselle que seleccione unha orixe de datos onde poida seleccionar unha orixe de datos entre as fontes de datos dispoñibles.
    Por exemplo, seleccione a entidade Contactos para usar datos de mostra:

    Seleccionar a entidade de Contactos para mostrar na galería

    A galería mostra elementos desta entidade:

    Engadiuse unha galería que mostra a entidade de contactos

  5. Insira un control de Botón desde o panel esquerdo:

    Usar o panel de ferramentas Inserir para engadir un control de botón

  6. Mova o botón engadido debaixo dos elementos da galería:

    Mover botón

  7. Actualice a propiedade de texto do botón para Eliminar rexistro. Tamén podeutilizar o textp que vostede escolla:

    Cambiar nome do botón

  8. Axuste a propiedade OnSelect deste control de botón na seguinte fórmula:

    Remove( Contacts, Gallery1.Selected )
    

    Establecer a propiedade OnSelect do control de botón

    O control de galería fai que o rexistro seleccionado actualmente estea dispoñible usando a propiedade Seleccionado. A función Remove fai referencia a este rexistro seleccionado para eliminarlo.

  9. Obteña a vista previa da aplicación usando o botón Reproducir na parte superior dereita ou prema F5 no teclado:

    Previsualizar aplicación

  10. Seleccione un rexistro para eliminar, como o rexistro de Nancy neste exemplo:

    Seleccionar un rexistro

  11. Seleccione Eliminar rexistro:

    Galería de contactos, agora sen o rexistro de Nancy que se eliminou

    Se selecciona o botón elimínase o rexistro seleccionado (neste exemplo, o rexistro de Nancy).

  12. Peche a vista previa da aplicación.

    Suxestión

    Tamén pode usar un comportamento alternativo coa Tecla Alt en vez de usar a vista previa da aplicación co botón Reproducir ou F5.

Neste exemplo, eliminará un elemento usando unha icona situada dentro da galería.

Crear unha colección con datos de mostra

Se xa ten datos de mostra preparados, salte este paso e diríxase á icona de papeleira dentro dunha galería.

  1. Engada un control de botón á pantalla.

  2. Defina a propiedade OnSelect na 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. Seleccione o botón mantendo premida a tecla Alt.

Creouse unha colección de mostra que pode usar no seguinte exemplo.

  1. Cree unha nova aplicación de lenzo en branco usando un deseño de teléfono.

    Aplicación de lenzo en branco usando o deseño de teléfono

  2. No panel esquerdo, seleccione Inserir.

  3. Seleccione Galería vertical.
    Un control de Galería engadirase á súa pantalla.

    Usar o panel de ferramentas Inserir para engadir un control de galería vertical

  4. Solicítaselle que seleccione unha orixe de datos onde poida seleccionar unha orixe de datos entre as fontes de datos dispoñibles.
    Por exemplo, seleccione a entidade Contactos para usar datos de mostra:

    Seleccionar a entidade de Contactos para mostrar na galería

    Se creou unha colección, seleccione a súa colección no seu lugar:

    Colección de contactos de mostra

  5. Seleccione un control dentro do elemento superior da galería.

    Para garantir que o seguinte paso insira o elemento no modelo da galería e non fóra da galería, asegúrese de seguir este paso antes de pasar ao seguinte paso.

    Seleccionar o rexistro superior nunha galería

  6. Seleccione Engadir icona no panel esquerdo.

    Usar o panel de ferramentas Inserir para engadir un control de icona

    Nota

    Engadir icona insire unha icona de + no lado esquerdo da galería, replicada para cada elemento da galería.

  7. No elemento superior, mova a icona ao lado dereito da pantalla.

    Mover icona

  8. Seleccione a propiedade Icona da icona e configúrea na seguinte fórmula para actualizar a imaxe da icona como icona de papeleira:

    Icon.Trash
    

    Nota

    O prefixo Icon. só se mostra cando está editando activamente a fórmula.

    Cambiar a icona á icona de papeleira

  9. Defina a propiedade OnSelect na seguinte fórmula:

    Remove( [@Contacts], ThisItem )
    

    Nota

    Debe usar o operador global de desambiguación [@...] neste exemplo con datos de exemplo que usen a entidade Contactos para evitar conflitos coa relación de un a moitos. Se usa fontes de datos como unha lista de SharePoint ou unha táboa de SQL Server, usar o operador global de desagregación non se require.

    OnSelect para a icona de papeleira

  10. Obteña a vista previa da aplicación usando o botón Reproducir na parte superior dereita ou prema F5 no teclado.

  11. Seleccione a icona de papeleira xunto a un rexistro, por exemplo o de María:

    Galería cun dos contactos eliminado

    O rexistro elimínase:

    Rexistro eliminado

  12. Peche a vista previa da aplicación.