Funciones Remove y RemoveIf
Se aplica a: Aplicaciones de lienzo Aplicaciones basadas en modelo Power Platform CLI
Quita registros de un origen de datos.
Nota
Los comandos PAC CLI pac power-fx no admiten la función RemoveIf.
Description
Función Remove
Use la función Remove para quitar un registro o registros específicos de un origen de datos.
Para las colecciones, tiene que coincidir con todo el registro. Puede usar el argumento RemoveFlags.All para quitar todas las copias de un registro; en caso contrario, se quita solo una copia del registro.
Función RemoveIf
Use la función RemoveIf para quitar un registro o registros en función de una condición o un conjunto de condiciones. Cada condición puede ser cualquier fórmula que da como resultado true o false y puede hacer referencia a columnas del origen de datos por su nombre. Cada condición se evalúa individualmente para cada registro, y si todas las condiciones se evalúan como true se elimina el registro.
Remove y RemoveIf devuelven el origen de datos modificado como una tabla. Puede usar ambas funciones únicamente en fórmulas de comportamiento.
También puede usar la función Clear para eliminar registros en una colección.
Delegación
RemoveIf solo es compatible con unos pocos orígenes de datos. Si el origen de datos no admite esta característica, Power Apps enviará una consulta al servidor y recuperará todos los datos que coincidan con la expresión del filtro hasta el máximo de 500, 2000 o el tamaño de la página de datos. Posteriormente, eliminará cada uno de esos registros individualmente realizando llamadas separadas al servidor.
Sintaxis
Remove( DataSource, Record1 [, Record2, ... ] [, RemoveFlags.All ] )
- DataSource: requerido. El origen de datos que contiene el registro o los registros que desea quitar.
- Record(s): requerido. El registro o los registros que se van a quitar.
- RemoveFlags.All: optativa. En una colección, el mismo registro puede aparecer más de una vez. Puede agregar el argumento RemoveFlags.All para quitar todas las copias del registro.
Remove( DataSource, Table [, RemoveFlags.All ] )
- DataSource: requerido. El origen de datos que contiene los registros que desea quitar.
- Table: requerido. Tabla de registros que se van a quitar.
- RemoveFlags.All: optativa. En una colección, el mismo registro puede aparecer más de una vez. Puede agregar el argumento RemoveFlags.All para quitar todas las copias del registro.
RemoveIf( DataSource, Condición [,...])
- DataSource: requerido. El origen de datos que contiene el registro o los registros que desea quitar.
- Condition(s): requerido. Una fórmula que se evalúa como true para el registro o los registros que se van a quitar. Puede usar nombres de columna de DataSource en la fórmula. Si especifica varias Condiciones, todas se deben evaluar como true para el registro o registros que va a quitar.
Ejemplos: fórmulas individuales
En estos ejemplos, va a quitar un registro o registros de un origen de datos que se denomina IceCream y que comienza con los datos en esta tabla:
Crear una colección con registros de ejemplo
Para crear una colección con estos datos:
Inserte un control Button.
Establezca la propiedad OnSelect del control button en la fórmula siguiente:
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
Seleccione el botón mientras mantiene presionada la tecla Alt.
Eliminar registros de muestra de la colección con una fórmula
Fórmula | Description | Result |
---|---|---|
Remove( IceCream, LookUp( IceCream, Flavor="Chocolate" )) |
Quita el registro Chocolate del origen de datos. | El origen de datos IceCream se ha modificado. |
Remove( IceCream, LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
Quita los dos registros del origen de datos. | El origen de datos IceCream se ha modificado. |
RemoveIf( IceCream, Quantity > 150 ) | Quita los registros que tienen una Quantity superior a 150. | El origen de datos IceCream se ha modificado. |
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 1 ) = "S" ) | Quita los registros que tienen una Quantity superior a 150 y cuyo valor Flavor empieza con S. | El origen de datos IceCream se ha modificado. |
RemoveIf( IceCream, true ) | Quita todos los registros del origen de datos. | El origen de datos IceCream se ha modificado. |
Ejemplos: botón Quitar fuera de una galería
En este ejemplo, usará un control Gallery para enumerar los registros en una tabla. Después usará la función Remove para quitar un elemento de forma selectiva.
Preparar los datos de ejemplo
Este ejemplo usa la tabla Contactos de Microsoft Dataverse disponible con las aplicaciones y datos de muestra. Puedes desplegar aplicaciones y datos de muestra cuando crea un entorno. También puede usar cualquier otro origen de datos en su lugar.
Botón Quitar fuera de una galería
En este ejemplo, eliminará un elemento utilizando un botón que está afuera de la galería.
Cree una nueva aplicación de lienzo en blanco utilizando un diseño de teléfono.
Seleccione Insertar en el panel izquierdo.
Seleccione Galería vertical.
Se agrega un control Gallery a su pantalla.Se le pide que seleccione un origen de datos, donde puede seleccionar un origen de datos entre los orígenes de datos disponibles.
Por ejemplo, seleccione la tabla Contactos para usar Datos de muestra:La galería muestra elementos de esta tabla:
Inserte un control Button desde el panel izquierdo:
Mueva el botón agregado debajo de los elementos de la galería:
Actualice la propiedad de texto del botón a Eliminar registro. También puede usar cualquier otro texto que elija:
Establezca la propiedad OnSelect de este control de botón en la siguiente fórmula:
Remove( Contacts, Gallery1.Selected )
El control de galería hace que el registro seleccionado actualmente esté disponible usando la propiedad Selected. La función Remove se refiere a este registro seleccionado para eliminarlo.
Obtenga una vista previa de la aplicación utilizando el botón Reproducir en la esquina superior derecha, o presione F5 en el teclado:
Seleccione un registro para eliminar, como Nancy en este ejemplo:
Seleccione Quitar registro:
Al seleccionar el botón, se elimina el registro seleccionado (en este ejemplo, el registro de Nancy).
Cierre la vista previa de la aplicación.
Propina
También puede usar un comportamiento alternativo con la tecla Alt en lugar de usar la vista previa de la aplicación con el botón Reproducir o F5.
Ejemplos: icono de la papelera dentro de una galería
En este ejemplo, eliminará un elemento utilizando un icono que está dentro de la galería.
Crear una colección con datos de ejemplo
Si ya tiene datos de muestra preparados, omita este paso y vaya a Icono de papelera dentro de una galería.
Agregue un control Button a la pantalla.
Establezca la propiedad OnSelect en la fórmula siguiente:
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" } )
Seleccione el botón mientras mantiene presionada la tecla Alt.
Se crea una colección de muestra que puede usar en el siguiente ejemplo.
Icono de la papelera dentro de una galería
Cree una nueva aplicación de lienzo en blanco utilizando un diseño de teléfono.
Seleccione Insertar en el panel izquierdo.
Seleccione Galería vertical.
Se agrega un control Gallery a su pantalla.Se le pide que seleccione un origen de datos, donde puede seleccionar un origen de datos entre los orígenes de datos disponibles.
Por ejemplo, seleccione la tabla Contactos para usar Datos de muestra:Si creó una colección, seleccione su colección en su lugar:
Seleccione un control dentro del elemento superior de la galería.
Para asegurarse de que el siguiente paso inserte el elemento en la plantilla de la galería y no fuera de la galería, asegúrese de seguir este paso antes de pasar al siguiente.
Seleccione Agregar icono en el panel izquierdo.
Nota
Agregar icono inserta un icono + en el lado izquierdo de la galería, replicado para cada elemento de la galería.
En el elemento superior, mueva el icono al lado derecho de la pantalla.
Seleccione la propiedad Icon del icono y establézcala en la siguiente fórmula para actualizar la imagen del icono como icono de papelera:
Icon.Trash
Nota
El prefijo Icon. solo se muestra cuando está editando activamente la fórmula.
Establezca la propiedad OnSelect en la fórmula siguiente:
Remove( [@Contacts], ThisItem )
Nota
Debe usar el operador de desambiguación global[@...] en este ejemplo con datos de muestra que utilizan la tabla Contactos para evitar conflictos con una relación de uno a varios. Si utiliza orígenes de datos como una lista o una tabla de SQL Server, no hace falta el operador de desambiguación global.
Obtenga una vista previa de la aplicación utilizando el botón Reproducir en la esquina superior derecha, o presione F5 en el teclado.
Seleccione el icono de papelera al lado de un registro, por ejemplo el de Maria:
El registro se ha eliminado:
Cierre la vista previa de la aplicación.