Variables Power Fx

Nota

Microsoft Power Fx és el nom nou del llenguatge de formules de les aplicacions de llenç. Aquests articles estan en procés mentre Microsoft extreu el llenguatge d'aplicacions canvas, l'integra amb altres productes de Microsoft Power Platform i el posa a disposició com a open source. Comenceu amb la Informació general del Microsoft Power Fxper veure una introducció al llenguatge.

Aprèn com les variables Power Fx es diferencien de les variables en eines com Visual Basic o JavaScript, i quan les fórmules són una millor opció. Aquest article explica com triar variables globals, variables de context o col·leccions per gestionar els valors i l'estat de l'aplicació.

En altres eines, podeu realitzar explícitament un càlcul i emmagatzemar el resultat en una variable. No obstant, el Power Fx i l'Excel tornen a calcular automàticament les fórmules a mesura que canvia la informació d'entrada, de manera que normalment no cal que creeu i actualitzeu variables. Prenent aquest enfocament sempre que sigui possible, podeu crear, entendre i mantenir més fàcilment l'aplicació.

En alguns casos, cal utilitzar variables en Power Fx. Power Fx amplia el model d'Excel afegint fórmules de comportament. Aquestes fórmules s'executen quan, per exemple, un usuari selecciona un botó. Dins d'una fórmula de comportament, sovint és útil establir una variable per utilitzar en altres fórmules.

En general, eviteu l'ús de variables. Però, de vegades, només una variable pot permetre l'experiència que voleu. Es creen i escriuen implícitament variables quan apareixen en funcions que estableixen els seus valors.

Traduir l'Excel al Power Fx

Excel

Revisem com funciona l'Excel. Una cel·la pot contenir un valor, com ara un número o una cadena, o una fórmula que es basa en els valors d'altres cel·les. Quan l'usuari introdueix un valor diferent dins d'una cel·la, l'Excel torna a calcular les fórmules que depenen del valor nou. No heu de fer cap programació per habilitar aquest comportament.

A l'exemple següent, la cel·la A3 es defineix a la fórmula A1+A2. Si A1 o A2 canvia, A3 es torna a calcular automàticament per reflectir el canvi. Aquest comportament no requereix cap codi a part de la fórmula en si.

Captura de pantalla d'una fórmula d'Excel recalculant la suma després que un valor d'entrada canviï.

L'Excel no té variables. El valor d'una cel·la que conté una fórmula canvia en funció de l'entrada, però no hi ha manera de recordar el resultat d'una fórmula i emmagatzemar-lo en una cel·la o en qualsevol altre lloc. Si canvies el valor d'una cel·la, tota la fulla de càlcul pot canviar, i es perdran els valors calculats prèviament. Un usuari de l'Excel pot copiar i enganxar cel·les, però això està sota el control manual de l'usuari i no és possible amb fórmules.

Efectes de potència

La lògica que creeu en el Power Fx es comporta de manera molt semblant que a l'Excel. En lloc d'actualitzar les cel·les, podeu afegir controls allà on vulgueu en una pantalla i anomenar-los per utilitzar-los en fórmules.

Per exemple, al Power Apps, podeu replicar el comportament de l'Excel en una aplicació afegint un control d'Etiqueta, anomenat Label1 i dos controls d'Entrada de text, anomenats TextInput1 i TextInput2. Si després configures la propietat Text de Label1 a TextInput1.Text + TextInput2.Text, sempre mostra automàticament la suma dels números que hi ha a TextInput1 i TextInput2 .

Captura de pantalla de dues entrades de text i una etiqueta que calcula una suma amb una fórmula Power Fx.

Heu de tenir en compte que el control Label1 se selecciona i que mostra la seva fórmula Text a la barra de fórmules a la part superior de la pantalla. Aquí trobes la fórmula TextInput1.Text + TextInput2.Text. Aquesta fórmula crea una dependència entre aquests controls, de la mateixa forma que es creen dependències entre les cel·les d'un llibre de treball de l'Excel. Canviem el valor de TextInput1:

Captura de pantalla d'una fórmula Power Fx que recalcula automàticament una suma quan una entrada canvia.

La fórmula de Label1 es recalcula automàticament, mostrant el nou valor.

Al Power Fx, podeu utilitzar fórmules per determinar no només el valor principal d'un control, sinó també les propietats com el format. A l'exemple següent, una fórmula per a la propietat Color de l'etiqueta mostra automàticament els valors negatius en vermell. La funció If ha de resultar familiar de l'Excel:

If( Value(Label1.Text) < 0, Color.Red, Color.Black )

Captura de pantalla d'una fórmula Power Fx canviant el color d'una etiqueta quan el valor calculat és negatiu.

Podeu utilitzar fórmules per a una gran varietat d'escenaris:

  • Utilitzant el GPS del dispositiu, un control de mapa pot mostrar la ubicació actual utilitzant una fórmula que utilitzi Location.Latitude i Location.Longitude. A mesura que us moveu, el mapa automàticament segueix la vostra ubicació.
  • Altres usuaris poden actualitzar les fonts de dades. Per exemple, altres usuaris de l'equip poden actualitzar els elements d'una llista del SharePoint. Quan actualitzes una font de dades, qualsevol fórmula dependent es recalcula automàticament per reflectir les dades actualitzades. Continuant amb l'exemple, podríeu establir la propietat Elements d'una galeria a la fórmula Filter( SharePointList ), que mostra automàticament el nou conjunt de registres filtrats.

Beneficis de les fórmules Power Fx

Utilitzar fórmules per construir aplicacions ofereix molts avantatges:

  • Si coneixeu l'Excel, ja coneixeu el Power Fx. El llenguatge de models i fórmules és el mateix.
  • Si utilitzes altres eines de programació, considera quanta quantitat de codi necessitaries per fer aquests exemples. Al Visual Basic, heu d'escriure un controlador d'esdeveniments per a l'esdeveniment de canvi en cada control d'entrada de text. El codi per fer el càlcul en cadascun d'aquests gestors d'esdeveniments és redundant i podria desincronitzar-se, o caldria escriure una subrutina comuna. A Power Fx, aconsegueixes tota aquesta feina amb una sola fórmula d'una sola línia.
  • Per entendre d'on prové el text de Label1, saps exactament on buscar: la fórmula de la propietat Text . No hi ha cap altra manera d'afectar el text d'aquest control. En una eina de programació tradicional, qualsevol controlador d'esdeveniments o subrutina podria canviar el valor de l'etiqueta, des de qualsevol part del programa. Aquest enfocament pot dificultar trobar quan i on s'ha canviat una variable.
  • Si l'usuari canvia un control lliscant i després canvia d'opinió, pot canviar el control lliscant al seu valor original. És com si res no hagués canviat mai: l'aplicació mostra els mateixos valors de control que abans. No hi ha ramificacions per a l'experimentació i preguntar "i si," igual que no n'hi ha a l'Excel.

En general, si pots aconseguir un efecte utilitzant una fórmula, et va millor. Deixeu que el motor de fórmules del Power Fx faci la feina.

Saber quan utilitzar variables

Canviem la nostra senzilla calculadora per poder funcionar com una màquina de sumar antiga, amb un total d'execució. Si selecciones un botó Afegir , afegeixes un número al total acumulat. Si selecciones un botó Esborrar , reinicies el total acumulat a zero.

Visualització Descripció
Captura de pantalla d'una aplicació de sumadora amb un total de zero i 77 punts introduïts a l'entrada de text. Quan s'inicia l'aplicació, el total d'execució és 0.

El punt vermell representa el dit de l'usuari al quadre d'entrada de text, on l'usuari introdueix 77.
Captura de pantalla de la sumadora amb 77 a l'entrada de text mentre l'usuari selecciona Afegir. L'usuari selecciona el botó Afegeix.
Captura de pantalla de la sumadora que mostra un total de 77 abans d'afegir-ne 77 més. 77 s'afegeix al total d'execució.

L'usuari selecciona de nou el botó Afegeix.
Captura de pantalla de la sumadora mostrant un total recurrent de 154 abans que l'usuari seleccioni Esborrar. 77 s'afegirà una altra vegada al total d'execució i donarà com a resultat 154.

L'usuari selecciona el botó Esborra.
Captura de pantalla de la calculadora després que el total acumulat s'hagi restablert a zero. El total d'execució es restableix a 0.

La nostra màquina de sumar utilitza una cosa que no existeix a l'Excel: un botó. En aquesta aplicació, no podeu utilitzar només fórmules per calcular el total que s'està executant, ja que el seu valor depèn d'una sèrie d'accions que l'usuari realitza. En lloc d'això, has de registrar i actualitzar manualment el total en funcionament. La majoria de l'eina de programació emmagatzemen aquesta informació en una variable.

De vegades, necessitareu una variable perquè l'aplicació es comporti la manera que vulgueu. Però l'enfocament té inconvenients:

  • Heu d'actualitzar manualment el total d'execució. El càlcul automàtic no ho farà per vós.
  • No pots calcular el total acumulat basant-te en els valors d'altres controls. Depèn de quantes vegades l'usuari ha seleccionat el botó Afegeix i quin valor tenia el control d'entrada de text cada vegada. L'usuari ha introduït 77 i ha seleccionat Afegeix dues vegades o ha especificat 24 i 130 per a cadascuna de les sumes? No es pot notar la diferència després que el total arribi a 154.
  • Els canvis en el total poden provenir de diferents camins. En aquest exemple, els botons Afegeix i Esborra poden actualitzar el total. Si l'aplicació no es comporta de la manera que espereu, quin botó està causant el problema?

Utilitzar una variable global

Per crear la teva calculadora, necessites una variable que mantingui el total acumulat. Les variables més simples d'utilitzar al Power Fx són les variables globals.

Com funcionen les variables globals:

  • Utilitza la funció Set per establir el valor de la variable global. Set( MyVar, 1 ) estableix la variable global MyVar en un valor d'1 .
  • Utilitza la variable global fent referència al nom que has utilitzat amb la funció Set . En aquest cas, MyVar retorna 1.
  • Les variables globals poden tenir un valor, incloent-hi cadenes, números, registres i taules.

Reconstruïm la nostra màquina de sumar mitjançant una variable global:

  1. Afegiu un control d'entrada de text, anomenat TextInput1 i dos botons, anomenats Button1 i Button2.

  2. Definiu la propietat Text de Button1 en "Add"" i definiu la propietat Text de Button2 en "Clear".

  3. Per actualitzar el total acumulable cada vegada que un usuari selecciona el botó Afegeix, definiu la propietat OnSelect en aquesta fórmula:

    Set( RunningTotal, RunningTotal + TextInput1.Text )

    La mera existència d'aquesta fórmula estableix RunningTotal com a variable global que conté un nombre a causa de l'operador +. Podeu fer referència a RunningTotal en qualsevol part de l'aplicació. Sempre que l'usuari obri aquesta aplicació, RunningTotal té un valor inicial en blanc.

    La primera vegada que un usuari selecciona el botó Afegeix i executa Set, RunningTotal es defineix amb el valor RunningTotal + TextInput1.

    Captura de pantalla del botó d'afegir propietat OnSelect utilitzant Set per actualitzar una variable global de Power Fx.

  4. Per definir el total acumulable en 0 cada vegada que un usuari selecciona el botó Esborra, definiu la propietat OnSelect en aquesta fórmula:

    Set( RunningTotal, 0 )

    Captura de pantalla del botó Esborrar la propietat OnSelect utilitzant Set per restablir una variable global de Power Fx.

  5. Afegiu un control d'Etiqueta i definiu-ne la propietat Text en RunningTotal.

    Aquesta fórmula recalcula automàticament i mostra a l'usuari el valor de RunningTotal a mesura que canvia segons els botons que l'usuari seleccioni.

    Captura de pantalla d'una propietat de text d'etiqueta que mostra el valor de la variable global RunningTotal.

  6. Previsualitza l'aplicació i tindràs la teva calculadora tal com s'ha descrit abans. Introduïu un número al quadre de text i premeu el botó Afegeix unes quantes vegades. Quan estiguis preparat, torna a l'experiència d'autorització utilitzant la tecla Esc .

    Captura de pantalla de la previsualització de la màquina sumadora amb un valor d'entrada i el total acumulat calculat.

  7. Per mostrar el valor de la variable global, seleccioneu el menú Fitxer i seleccioneu Variables a la subfinestra esquerra.

    Captura de pantalla de l'opció global de Variables seleccionada des del menú Fitxers a l'editor d'aplicacions.

  8. Per mostrar tots els llocs on es defineix i s'utilitza la variable, seleccioneu-la.

    Captura de pantalla de les ubicacions on es defineix i s'utilitza una variable global a l'aplicació.

Tipus de variables

El Power Fx té dos tipus de variables:

Tipus de variable Scope Descripció Funcions que estableixen
Variables globals App Més senzilles d'utilitzar. Conté un número, una cadena de text, booleà, enregistrament, taula i més. Pots consultar-ho des de qualsevol lloc de l'aplicació. Conjunt
Col·leccions App Hi ha una taula que pots consultar des de qualsevol lloc de l'aplicació. Pots modificar el contingut de la taula en comptes de posar-la sencera. El pots guardar al dispositiu local per utilitzar-lo més endavant. Recollir
ClearCollect

Quan utilitzes Power Apps, veus un tercer tipus de variable:

Tipus de variable Scope Descripció Funcions que estableixen
Variables de context Pantalla Ideals per passar valors a una pantalla, igual que els paràmetres d'un procediment en altres llenguatges. Només es pot consultar des d'una pantalla. UpdateContext
Navegar

Crear i suprimir variables

Es creen totes les variables implícitament quan apareixen en una funció Set, UpdateContext, Navigate, Collect o ClearCollect . Per declarar una variable i el seu tipus, només cal incloure-la en qualsevol d'aquestes funcions a qualsevol lloc de l'aplicació. Cap d'aquestes funcions crea variables; només omplen els valors de les variables. No declareu explícitament les variables com podríeu en una altra eina de programació i tots els tipus són implícits.

Per exemple, pot ser que tingueu un control de botó amb una fórmula OnSelect igual a Set( X, 1 ). Aquesta fórmula defineix X com una variable amb un tipus de número. Podeu utilitzar X a les fórmules com a número i aquesta variable té un valor en blanc després d'obrir l'aplicació però abans de seleccionar el botó. Quan seleccioneu el botó, donareu a X el valor 1.

Si afegiu un altre botó i definiu la propietat OnSelect a Set( X, "Hola" ), es produeix un error perquè el tipus (cadena de text) no coincideix amb el tipus del conjunt anterior (número). Totes les definicions implícites de la variable han de coincidir en tipus. De nou, tot això va passar perquè vas mencionar X en fórmules, no perquè cap d'aquestes fórmules realment s'executés.

Suprimiu una variable suprimint-ne totes les funcions Set, UpdateContext, Navigate, Collect o ClearCollect que estableixen implícitament la variable. Sense aquestes funcions, la variable no existeix. També has d'eliminar qualsevol referència a la variable perquè causen un error.

Vida de les variables i valor inicial

L'aplicació manté totes les variables a la memòria mentre s'executa. Després de tancar l'aplicació, els valors que les variables contenien es perden.

Podeu emmagatzemar el contingut d'una variable en un font de dades mitjançant les funcions Patch o Collect. També podeu emmagatzemar valors en col·leccions en el dispositiu local mitjançant la funció SaveData.

Quan l'usuari obre l'aplicació, totes les variables tenen un valor inicial en blanc.

Variables de lectura

Utilitzeu el nom de la variable per llegir-ne el valor. Per exemple, podeu definir una variable amb aquesta fórmula:

Set( Radius, 12 )

Llavors pots utilitzar Radius on vulguis utilitzar un número, i el substitueixes per 12:

Pi() * Power( Radius, 2 )

Si doneu a una variable de context el mateix nom que una variable global o una col·lecció, la variable de context té prioritat. No obstant, encara podeu fer referència a la variable global o col·lecció si utilitzeu l'operador de desambiguació[@Radius].

Utilitzar una variable de context (només al Power Apps)

Aquí tens com crear la màquina sumadora utilitzant una variable de context en lloc d'una variable global.

Com funcionen les variables de context:

  • Heu d'establir i definir implícitament les variables de context mitjançant la funció UpdateContext o Navigate. Quan s'inicia l'aplicació, totes les variables de context tenen un valor inicial en blanc.
  • Actualitzeu variables de context amb registres. En altres eines de programació, normalment utilitzeu "=" per a l'assignació, com a "x = 1". Per a les variables de context, utilitzeu { x: 1 }. Quan utilitzeu una variable de context, utilitzeu el nom directament sense la sintaxi del registre.
  • També podeu definir una variable de context quan utilitzeu la funció Navigate per mostrar una pantalla. Si penseu en una pantalla com un tipus de procediment o subrutina, aquest mètode s'assembla a la transmissió de paràmetres en altres eines de programació.
  • A excepció de Navigate, les variables de context es limiten al context d'una sola pantalla, que és on reben el seu nom. No podeu utilitzar ni definir-les fora d'aquest context.
  • Les variables de context poden tenir un valor, incloent-hi cadenes, números, registres i taules.

Reconstruïm la nostra màquina de sumar mitjançant una variable de context:

  1. Afegiu un control d'entrada de text, anomenat TextInput1 i dos botons, anomenats Button1 i Button2.

  2. Definiu la propietat Text de Button1 en "Add"" i definiu la propietat Text de Button2 en "Clear".

  3. Per actualitzar el total acumulable cada vegada que un usuari selecciona el botó Afegeix, definiu la propietat OnSelect en aquesta fórmula:

    UpdateContext( { RunningTotal: RunningTotal + TextInput1.Text } )

    La mera existència d'aquesta fórmula estableix RunningTotal com a variable de context que conté un nombre a causa de l'operador +. Podeu fer referència a RunningTotal en qualsevol part d'aquesta pantalla. Sempre que l'usuari obri aquesta aplicació, RunningTotal té un valor inicial en blanc.

    La primera vegada que l'usuari selecciona el botó Afegeix i executa UpdateContext, RunningTotal es defineix amb el valor RunningTotal + TextInput1.

    Captura de pantalla del botó Afegir propietat OnSelect actualitzant la variable de context RunningTotal.

  4. Per definir el total acumulable en 0 cada vegada que un usuari selecciona el botó Esborra, definiu la propietat OnSelect en aquesta fórmula:

    UpdateContext( { RunningTotal: 0 } )

    Una vegada més, UpdateContext s'utilitza amb la fórmula UpdateContext ( { RunningTotal: 0 } ).

    Captura de pantalla del botó Esborrar la propietat OnSelect reiniciant la variable de context RunningTotal.

  5. Afegiu un control d'Etiqueta i definiu-ne la propietat Text en RunningTotal.

    Aquesta fórmula recalcula automàticament i mostra a l'usuari el valor de RunningTotal a mesura que canvia segons els botons que l'usuari seleccioni.

    Captura de pantalla d'una propietat d'etiqueta Text que mostra el valor de la variable de context RunningTotal.

  6. Previsualitza l'aplicació i tindràs la teva calculadora tal com s'ha descrit abans. Introduïu un número al quadre de text i premeu el botó Afegeix unes quantes vegades. Quan estiguis preparat, torna a l'experiència d'autorització utilitzant la tecla Esc .

    Captura de pantalla de la previsualització de l'aplicació amb un valor d'entrada de text i un total corrent de variables de context.

  7. Podeu definir el valor d'una variable de context mentre navegueu fins a una pantalla. Aquesta tècnica és útil per passar "context" o "paràmetres" d'una pantalla a una altra. Per demostrar aquesta tècnica, inseriu una pantalla, inseriu un botó i definiu la propietat OnSelect en aquesta fórmula:

    Navega( Pantalla1, Cap,RunningTotal { : -1000 } )

    Captura de pantalla d'un botó Propietat OnSelect utilitzant Navegar per passar una variable de context a la Pantalla1.

    Mantingues premut la tecla Alt mentre selecciones aquest botó per mostrar Screen1 i posar la variable de context RunningTotal a -1000.

    La captura de pantalla de la Pantalla1 després de la navegació posa la variable de context RunningTotal a menys 1000.

  8. Per mostrar el valor de la variable de context, seleccioneu el menú Fitxer i seleccioneu Variables a la subfinestra esquerra.

    Captura de pantalla de l'opció Variables de context seleccionada des del menú Fitxers a l'editor de l'aplicació.

  9. Selecciona la variable de context per veure on està definida i utilitzada.

    Captura de pantalla de les ubicacions on s'ha definit i s'utilitza una variable de context a l'aplicació.

Utilitzar una col·lecció

Finalment, vegem la creació d'una màquina de sumar amb una col·lecció. Com que una col·lecció conté una taula que pots modificar fàcilment, aquesta màquina sumadora manté una "cinta de paper" de cada valor a mesura que els introdueixes.

Com funcionen les col·leccions:

  • Utilitza la funció ClearCollect per crear i establir col·leccions. Pots utilitzar la funció Collect en comptes d'això, però efectivament requereix una altra variable en comptes de substituir l'antiga.
  • Una col·lecció és un tipus de font de dades i, per tant, una taula. Per accedir a un valor únic d'una col·lecció, utilitzeu la funció First i extraieu un camp del registre resultant. Si utilitzes un sol valor amb ClearCollect, aquest valor és el camp Value , com en aquest exemple:
    First(VariableName). Valor

Recreem la nostra màquina de sumar mitjançant una col·lecció:

  1. Afegiu un control d'Entrada de text, anomenat TextInput1 i dos botons, anomenats Button1 i Button2.

  2. Definiu la propietat Text de Button1 en "Add"" i definiu la propietat Text de Button2 en "Clear".

  3. Per actualitzar el total acumulable cada vegada que un usuari selecciona el botó Afegeix, definiu la propietat OnSelect en aquesta fórmula:

    Collect ( PaperTape, TextInput1.Text )

    La mera existència d'aquesta fórmula defineix PaperTape com una col·lecció que conté una taula d'una sola columna de cadenes de text. Podeu fer referència a PaperTape en qualsevol part de l'aplicació. Cada vegada que un usuari obre aquesta aplicació, PaperTape és una taula buida.

    Quan s'executa aquesta fórmula, s'afegeix el valor nou al final de la col·lecció. Com que afegeixes un sol valor, Collect el col·loca automàticament en una taula d'una sola columna, i el nom de la columna és Value, que utilitzaràs més endavant.

    Captura de pantalla del botó Add OnSelect recull un valor d'entrada a PaperTape.

  4. Per esborrar la cinta de paper quan l'usuari selecciona el botó Esborra, definiu la propietat OnSelect en aquesta fórmula:

    Esborrar (cinta de paper)

    Captura de pantalla del botó Esborrar la propietat OnSelect esborrant tots els valors de PaperTape.

  5. Per mostrar el total d'execució, afegiu una etiqueta i definiu la propietat Text en aquesta fórmula:

    Sum( PaperTape, Valor )

    Captura de pantalla d'una propietat de text d'etiqueta utilitzant Sum per calcular el total corrent de PaperTape.

  6. Per executar la màquina de sumar, premeu F5 per obrir la visualització prèvia, introduïu els números al control d'entrada de text i seleccioneu els botons.

    Captura de pantalla de la màquina sumadora basada en col·lecció amb un valor d'entrada i un total corrent.

  7. Per tornar a l'espai de treball per defecte, prem la tecla Esc .

  8. Per mostrar la cinta de paper, inseriu un control Taula de dades i definiu la propietat Elements en aquesta fórmula:

    Cinta de paper

    A la subfinestra dreta, seleccioneu Edita els camps i seleccioneu Afegeix un camp, seleccioneu la columna Valor i seleccioneu Afegeix per mostrar-lo.

    Captura de pantalla d'una taula de dades que mostra els valors afegits a la col·lecció PaperTape.

  9. Per veure els valors de la col·lecció, seleccioneu Col·leccions al menú Fitxer.

    Captura de pantalla de la vista de Col·leccions que mostra els valors emmagatzemats a la col·lecció PaperTape.

  10. Per emmagatzemar i recuperar la vostra col·lecció, afegiu dos controls addicionals de botó i definiu les seves propietats Text a Carrega i Desa. Definiu la propietat OnSelect del botó Carrega a aquesta fórmula:

    Clar (PaperTape ); LoadData( PaperTape, "StoredPaperTape", cert )

    Heu d'esborrar primer la col·lecció perquè LoadData afegirà els valors emmagatzemats al final de la col·lecció.

    Captura de pantalla del botó de Carregar OnSelect propietat netejant i carregant la col·lecció PaperTape.

  11. Definiu la propietat OnSelect del botó Desa a aquesta fórmula:

    SaveData (PaperTape, "StoredPaperTape")

    Captura de pantalla del botó de Desar propietat OnSelect desant localment la col·lecció PaperTape.

  12. Previsualitza de nou prement la tecla F5 , introdueix números al control d'entrada de text i selecciona els botons. Seleccioneu el botó Desa. Tanqueu i torneu a carregar l'aplicació i, a continuació, seleccioneu el botó Carrega per recarregar la col·lecció.