Funcións Eliminar e EliminarSe

Aplícase a: Aplicacións de lenzo Aplicacións baseadas en modelos Power Platform CLI

Elimina rexistros dunha orixe de datos.

Nota

Os comandos de PAC CLI pac power-fx non admiten a función RemoveIf .

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. Podes usar o argumento RemoveFlags.All para eliminar todas as copias dun rexistro; en caso contrario, 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

Cando se usa cun orixe de datos, estas funcións non se poden delegar. Só se recuperará a primeira parte da orixe de datos e logo a función aplicada. Isto pode non representar a historia completa. É posible que apareza unha advertencia no momento da creación para lembrarche esta limitación.

Apoio á delegación (experimental)

A compatibilidade de delegación para RemoveIf agora está na Vista previa experimental (desactivada por defecto) para fontes de datos que o admitan. Se un orixe de datos non admite esta función, Power Apps enviará unha consulta ao servidor e recuperará todos os datos que coincidan coa expresión do filtro ata o máximo de 500, 2000 ou o tamaño da páxina de datos. Despois, realizará unha operación de eliminación en cada un deses rexistros con chamadas individuais ao servidor.

Sintaxe

Eliminar( DataSource, Record1 [, Record2 , ... ] [, RemoveFlags.All ] )

  • DataSource – Obrigatorio. 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.
  • RemoveFlags.All – Opcional. Nunha colección, o mesmo rexistro pode aparecer máis dunha vez. Podes engadir o argumento RemoveFlags.All para eliminar todas as copias do rexistro.

Eliminar( DataSource, Táboa [, Eliminar bandeiras .Todos ] )

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

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

  • DataSource – Obrigatorio. 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:

Exemplo de Icecream.

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,
LookUp (Xeado, Sabor="Chocolate"))
Elimina o rexistro Chocolate da orixe de datos. Resultado con vainilla e amorodo.

A orixe de datos IceCream modificouse.
Remove( IceCream,
LookUp (Xeado, Sabor="Chocolate"), LookUp (Xeado, Sabor="Amordodo"))
Elimina dous rexistros da orixe de datos. Resultado só con vainilla.

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

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. Resultado con Chocolate e Vainilla.


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

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 táboa Contactos dispoñible en Microsoft Dataverse cos datos e aplicacións de exemplo. 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 táboa Contactos para usar datos de mostra:

    Seleccionar a táboa Contactos para mostrar na galería.

    A galería mostra elementos desta táboa:

    Galería engadida mostrando a táboa 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 eliminalo.

  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:

    Seleccione 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.

    Propina

    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 táboa Contactos para usar datos de mostra:

    Seleccionar a táboa 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 para eliminar elementos ambigüos global[@...] neste exemplo cos datos de mostra que emprega a táboa Contactos para evitar conflitos cunha relación de un a varios. Se usa fontes de datos como unha lista 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.