Ejercicio: Utilizar las colecciones y manipular las tablas
En este ejercicio, practicará el uso de las tablas. Creará una colección, aplicará un filtro a la colección, realizará una búsqueda en la colección, editará un registro de la colección, agregará un registro a una colección y eliminará un registro de la colección.
Crear la colección de datos
Inicie sesión en Power Apps.
Desde la página Inicio, seleccione + Crear en el panel de navegación del lado izquierdo. Después, seleccione Aplicación vacía.
Por último, seleccione Crear en la aplicación de lienzo en blanco.
Asigne un nombre a su aplicación y seleccione Crear.
Seleccione la pestaña Insertar y agregue un botón; configure la propiedad OnSelect según esta fórmula:
ClearCollect(CityPopulations, {City:"London", Country:"United Kingdom", Population:8615000}, {City:"Berlin", Country:"Germany", Population:3562000}, {City:"Madrid", Country:"Spain", Population:3165000}, {City:"Rome", Country:"Italy", Population:2874000}, {City:"Paris", Country:"France", Population:2273000}, {City:"Hamburg", Country:"Germany", Population:1760000}, {City:"Barcelona", Country:"Spain", Population:1602000}, {City:"Munich", Country:"Germany", Population:1494000}, {City:"Milan", Country:"Italy", Population:1344000})
Mantenga presionada la tecla Alt y seleccione el control Botón. (Esto creará su colección y almacenará toda la información). Actualice la propiedad Text del botón para "Collect".
Inserte un control Galería vertical y elija CityPopulations como origen de datos (también puede actualizar la propiedad Items de la galería a CityPopulations).
Con la galería seleccionada, el panel Propiedades en el lado derecho de la pantalla cambia el diseño a Título, subtítulo y cuerpo. Luego, seleccione Campos y cambie la opción desplegable Cuerpo a Population. Consulte la imagen siguiente.
Con la galería aún seleccionada, actualice la propiedad OnSelect a lo siguiente:
Set(varRecord,ThisItem)
Filtrar la colección
Inserte una Etiqueta de texto y cambie la propiedad Text a "Population". Luego muévala a la derecha de la galería.
A continuación, inserte un control Control deslizante y colóquelo debajo de la etiqueta que creamos. Puede encontrar el control rápidamente si escribe "control deslizante" en el campo de búsqueda.
Seleccione el control deslizante y cambie la propiedad Min a:
Min(CityPopulations, Population)
A continuación, cambie la propiedad Max a:
Max(CityPopulations, Population)
Ahora, seleccione la galería y cambie la propiedad Items a:
Filter(CityPopulations, Population>= Slider1.Value)
Ahora, solo veremos los registros que son superiores al valor del control deslizante seleccionado. Coloque la aplicación en modo de versión preliminar y mueva el control deslizante para verla en acción. Con el control deslizante completamente hacia la izquierda, verá todas las ciudades. A medida que mueve el control deslizante hacia la derecha, la lista se reduce para que solo permanezca Londres en la galería.
Utilizar las funciones LookUp y Patch
Inserte una Etiqueta de texto y cambie la propiedad Text a "City" y colóquela debajo del control deslizante.
A continuación, inserte un control Desplegable y muévalo debajo de la etiqueta City.
En la propiedad Items del menú desplegable, escriba lo siguiente:
CityPopulations.City
En la propiedad OnChange del menú desplegable, escriba lo siguiente:
Set(varRecord, LookUp(CityPopulations, City=Self.SelectedText.City))
Inserte otra Etiqueta de texto y actualice la propiedad Text a "Country".
Inserte un control Entrada de texto y muévalo debajo de la etiqueta "Country".
En la propiedad Default de Text Input, escriba varRecord.Country.
Cambie el nombre de este control de entrada de texto a txtCountry.
Repita los 4 pasos anteriores para agregar etiquetas de texto y controles de entrada de texto para City y Population, lo que actualizará las propiedades Default de las entradas de texto a varRecord.City y varRecord.Population, respectivamente. Cuando acabe, su pantalla debería parecerse a la siguiente imagen.
Ahora, agregue un botón a la pantalla y colóquelo debajo de la entrada de texto Population. Cambie la propiedad Text a "Enviar".
Cambie la propiedad OnSelect del botón a lo siguiente:
Patch(CityPopulations, varRecord, {Country: txtCountry.Text, City: txtCity.Text, Population: Value(txtPopulation.Text)})
Nota
Tenemos que ajustar txtPopulation.Text con Value() porque la entrada de texto devuelve una cadena de manera predeterminada y nuestra colección espera un número.
Coloque la aplicación en modo de versión preliminar y seleccione un elemento de la galería. Cambie uno de los valores, pulse el botón "Submit" y verá que el elemento ha cambiado en su galería.
Vuelva a poner la aplicación en modo de edición.
Agregar y quitar registros
Seleccione nuestro botón "Submit" y cópielo. Péguelo tres veces.
Cambie la propiedad Text de los tres nuevos botones a Clear, New y Remove.
Coloque los botones en dos filas de dos botones alineados en su botón Submit original ("New" debajo de "Submit", "Clear" a la derecha de "Submit" y "Remove" debajo de "Clear").
Use Ctrl + clic en los botones Clear y Remove. Cambie la propiedad DisplayMode a:
If(IsBlank(varRecord), DisplayMode.Disabled, DisplayMode.Edit)
Ahora, solo se podrá hacer clic en estos botones si hay un registro seleccionado.
Use Ctrl + clic en el botón Remove para anular la selección. Actualice la propiedad OnSelect del botón Clear a lo siguiente:
Set(varRecord, Blank())
Ahora, puede borrar el registro seleccionado con este botón. Obtenga una versión preliminar de la aplicación y seleccione el botón Clear.
Observe cómo los botones Clear y Remove aparecen deshabilitados.
Con la aplicación nuevamente en modo de edición, seleccione el botón Remove. Actualice la propiedad OnSelect a:
Remove(CityPopulations, varRecord)
Por último, seleccione el botón New y cambie la propiedad OnSelect del botón a:
Collect(CityPopulations, {Country: txtCountry.Text, City: txtCity.Text, Population: Value(txtPopulation.Text)})
Coloque su aplicación en modo de versión preliminar e intente agregar un nuevo registro y eliminar un registro existente.
Ahora sabe cómo trabajar con más profundidad con tablas en Power Apps. Podría agregar funcionalidad adicional a las diferentes propiedades de sus botones para conseguir una mejor experiencia de usuario, pero esperamos que este ejercicio le haya dado una idea de lo que es posible.