Funcions Remove i RemoveIf
S'aplica a: Aplicacions de llenç CLI d'aplicacions Power Platform basades en models
Suprimeix els registres d'una font de dades.
Nota
Les ordres pac power-fx de la CLI PAC no admeten la funció RemoveIf .
Descripció
Funció Remove
Utilitzeu la funció Remove per suprimir un registre o registres concrets d'una font de dades.
Per a les col·leccions, ha de coincidir amb tot el registre. Podeu utilitzar l'argument RemoveFlags.All per suprimir totes les còpies d'un registre; en cas contrari, només se suprimirà una còpia del registre.
Funció RemoveIf
Utilitzeu la funció RemoveIf per suprimir un registre o registres en funció d'una condició o un conjunt de condicions. Cada condició pot ser qualsevol fórmula que resulti en true o false i pot fer referència a les columnes de la font de dades per nom. Cada condició s'avalua individualment per a cada registre i el registre se suprimeix si totes les condicions s'avaluen com a true.
Remove i RemoveIf retornen la font de dades modificada com a taula. Només podeu utilitzar totes dues funcions en fórmules de comportament.
També podeu utilitzar la funció Clear per suprimir tots els registres d'una col·lecció.
Delegació
RemoveIf només és compatible amb unes poques fonts de dades. Per a les fonts de dades que no confirmen aquesta característica, Power Apps consultarà el servidor i recuperarà totes les dades que coincideixin amb l'expressió de filtre, fins a un màxim de 500 o 2000 registres o la mida de la pàgina de dades. Posteriorment, suprimirà cadascun d'aquests registres individualment fent trucades separades al servidor.
Sintaxi
Remove( DataSource,Record1 [, Record2, ... ] [, RemoveFlags.All ] )
- DataSource : obligatori. La font de dades que conté el registre o els registres que voleu suprimir.
- Registres : obligatori. El registre o els registres que voleu suprimir.
- RemoveFlags.All : opcional. En una col·lecció, pot ser que el mateix registre es mostri més d'una vegada. Podeu afegir l'argument RemoveFlags.All per suprimir totes les còpies del registre.
Remove( DataSource,Table [, RemoveFlags.All ] )
- DataSource : obligatori. La font de dades que conté els registres que voleu suprimir.
- Taula : obligatòria. La taula de registres que voleu suprimir.
- RemoveFlags.All : opcional. En una col·lecció, pot ser que el mateix registre es mostri més d'una vegada. Podeu afegir l'argument RemoveFlags.All per suprimir totes les còpies del registre.
RemoveIf( DataSource,Condition [, ... ] )
- DataSource : obligatori. La font de dades que conté el registre o els registres que voleu suprimir.
- Condicions : obligatòria. Fórmula que s'avalua com a true per al registre o registres que se suprimiran. Podeu utilitzar els noms de columna de DataSource de la fórmula. Si especifiqueu diverses Condicions, s'han d'avaluar totes com a true per al registre o registres que se suprimiran.
Exemples: fórmules úniques
En aquests exemples, suprimireu un registre o registres d'una font de dades anomenada Gelat i que s'inicia amb les dades d'aquesta taula:
Crear una col·lecció amb registres d'exemple
Per crear una col·lecció amb aquestes dades:
Inseriu un control Botó.
Definiu la propietat OnSelect del control a la fórmula següent:
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
Seleccioneu el botó mentre manteniu premuda la tecla Alt:
Suprimir els registres d'exemple de la col·lecció mitjançant una fórmula
Fórmula | Descripció | Resultat |
---|---|---|
Eliminar (Gelat, LookUp( IceCream, Flavor="Chocolate" )) |
Suprimeix el registre Xocolata de la font de dades. | S'ha modificat la font de dades Gelat. |
Eliminar (Gelat, LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
Suprimeix dos registres de la font de dades. | S'ha modificat la font de dades Gelat. |
RemoveIf( Gelat, Quantitat > 150 ) | Suprimeix els registres que tenen una Quantitat superior a 150. | S'ha modificat la font de dades Gelat. |
RemoveIf( Gelat, Quantitat > 150, Left( Sabor, 1 ) = "S" ) | Suprimeix els registres que tenen una Quantitat superior a 150 i el Gust comença per S. | S'ha modificat la font de dades Gelat. |
RemoveIf( IceCream, cert ) | Suprimeix tots els registres de la font de dades. | S'ha modificat la font de dades Gelat. |
Exemples: suprimir un botó fora d'una galeria
En aquest exemple, utilitzareu un control Galeria per enumerar els registres d'una taula. I, a continuació, utilitzareu la funció Remove per suprimir selectivament un element.
Preparació per a les dades d'exemple
Aquest exemple utilitza la taula Contactes del Microsoft Dataverse disponible amb les aplicacions i dades d'exemple. Podeu implementar aplicacions i dades d'exemple quan creeu un entorn. En lloc d'això, també podeu utilitzar qualsevol altra font de dades.
Suprimir un botó fora d'una galeria
En aquest exemple, suprimireu un element mitjançant un botó que es troba fora de la galeria.
Creeu una aplicació de llenç en blanc nova mitjançant una disposició de telèfon.
Seleccioneu Insereix a la subfinestra esquerra.
Seleccioneu Galeria vertical.
S'afegirà un control Galeria a la pantalla.Se us demanarà que seleccioneu una font de dades on podeu seleccionar una font de dades entre les disponibles.
Per exemple, seleccioneu la taula Contactes per utilitzar dades d'exemple:A la galeria es mostren elements d'aquesta taula:
Inseriu un control Botó a la subfinestra esquerra:
Desplaceu el botó afegit a sota dels elements de la galeria:
Actualitzeu la propietat de text del botó a Suprimeix el registre. També podeu utilitzar el text que vulgueu:
Definiu la propietat OnSelect del control de botó en aquesta fórmula:
Remove( Contacts, Gallery1.Selected )
El control de galeria fa que el registre seleccionat actualment estigui disponible amb la propietat Selected. La funció Remove fa referència a aquest registre seleccionat per suprimir-lo.
Feu una visualització prèvia de l'aplicació mitjançant el botó Reprodueix a la part superior dreta o premeu F5 al teclat:
Seleccioneu el registre que voleu suprimir, com ara el registre Nancy d'aquest exemple:
Seleccioneu Suprimeix el registre:
En seleccionar el botó, se suprimeix el registre seleccionat (en aquest exemple, el registre Nancy).
Tanqueu la visualització prèvia de l'aplicació.
Propina
També podeu utilitzar el comportament alternatiu amb la tecla Alt en comptes d'utilitzar la visualització prèvia de l'aplicació amb el botó Reprodueix o F5.
Exemples: icona de la paperera dins d'una galeria
En aquest exemple, suprimireu un element mitjançant una icona situada a la galeria.
Crear una col·lecció amb dades d'exemple
Si ja teniu dades d'exemple preparades, ometeu aquest pas i desplaceu-vos a Icona de la paperera dins d'una galeria.
Afegiu un control Botó a la pantalla.
Definiu la propietat OnSelect a la fórmula següent:
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" } )
Seleccioneu el botó mentre manteniu premuda la tecla Alt.
Es crea una col·lecció d'exemple que podeu utilitzar a l'exemple següent.
Icona de la paperera dins d'una galeria
Creeu una aplicació de llenç en blanc nova mitjançant una disposició de telèfon.
Seleccioneu Insereix a la subfinestra esquerra.
Seleccioneu Galeria vertical.
S'afegirà un control Galeria a la pantalla.Se us demanarà que seleccioneu una font de dades on podeu seleccionar una font de dades entre les disponibles.
Per exemple, seleccioneu la taula Contactes per utilitzar dades d'exemple:Si heu creat una col·lecció, seleccioneu la col·lecció:
Seleccioneu un control a l'element superior de la galeria.
Per garantir que al pas següent s'insereix l'element a la plantilla de la galeria i no fora de la galeria, assegureu-vos que seguiu aquest pas abans de passar al pas següent.
Seleccioneu Afegeix una icona a la subfinestra esquerra.
Nota
Afegeix una icona insereix una + icona a la part esquerra de la galeria, replicada per a cada element de la galeria.
A l'element superior, desplaceu la icona a la part dreta de la pantalla.
Seleccioneu la propietat Icon per a icona i configureu-la a la fórmula següent per actualitzar la imatge de la icona com a icona de la paperera:
Icon.Trash
Nota
El perfixo Icon. només es mostra quan editeu activament la fórmula.
Definiu la propietat OnSelect a la fórmula següent:
Remove( [@Contacts], ThisItem )
Nota
En aquest exemple, heu d'utilitzar l'operador de desambiguació global[@...] d'aquest exemple amb dades d'exemple que utilitzin la taula Contactes per evitar conflictes amb una relació d'un a diversos. Si utilitzeu fonts de dades com ara una llista o una taula de l'SQL Server, no cal utilitzar l'operador de desambiguació global.
Feu una visualització prèvia de l'aplicació mitjançant el botó Reprodueix a la part superior dreta o premeu F5 al teclat.
Seleccioneu la icona de la paperera que hi ha al costat d'un registre, per exemple Maria:
El registre s'ha suprimit:
Tanqueu la visualització prèvia de l'aplicació.