Los filtros dinámicos nos permiten usar unos filtros dinámicamente, dentro de las pantallas de tipo Visor de datos, para filtrar los datos que necesitamos enseñar en una pantalla especifica.
Anteriormente sólo era posible filtrar los datos de una sola base de datos en cada pantalla tipo Visor de Datos.
La gran ventaja de los filtros dinámicos es que ahora estos nos permiten filtrar los datos por campos de cualquiera base de datos creada en la app (Base de Datos relacionales), que significa que una app, que antes necesitaba de 10 o más pantallas para filtrar cada una de la BBDD, ahora necesitará sólo un par de pantallas.
Vamos a ver cómo funcionan con un ejemplo práctico
EJEMPLO DE APP CON LISTA DE PAÍSES Y DE CIUDADES
Queremos crear una BD que contenga una lista de Países y de ciudades.
Con el sistema antiguo era necesario crear una lista de opciones con la lista de Países y conectar cada País a un visor de datos (pantalla) especifico, para luego filtrarlos en cada visor de datos por ciudades.
En este ejemplo tenemos creadas como mínimo 7 pantallas.
Cada pantalla tipo visor de datos de un País especifico se podía filtrar eligiendo el campo (Cities) --> incluye --> nombre País, como en la siguiente imagen:
¿Donde está el cambio?
En el siguiente ejemplo los Filtros nos permiten crear sólo 2 pantallas y filtrar todos los datos de manera dinámica.
Es decir, el filtro irá cambiando en función de la base de datos que estamos filtrando.
Vamos a verlo en nuestro ejemplo de App.
- En nuestra App tenemos una pantalla splash de presentación que nos lleva a una pantalla (visor de datos) que se llama “Categorias”.
En ella vamos a crear una base de datos con un campo que se llama “Countries”, donde insertamos un índice de Países que queremos mostrar.
2. Ahora vamos a crear una vista lista donde arrastraremos el elemento texto dinámico (rosa) que hace referencia al campo de la BD “Categorias” que será el campo: [Countries] y le diremos de abrir desde ahí la pantalla “Filters”, que será otra pantalla tipo visor de datos que vamos a crear.
La pantalla “Filters” es la pantalla que contendrá el filtro o los filtros dinámicos y será la pantalla que nos mostrará los datos que queremos visualizar (o sea las ciudades relacionadas a cada País).
3. La nueva pantalla “Filters” contiene una base de datos con dos columnas:
a) La primera con los Países “Countries”
b) La segunda con las Ciudades “Cities”
Ahora queremos que el usuario, al entrar en la pantalla “Countries” (la primera creada), haciendo clic en uno de los Países de la lista, pueda ver las Ciudades de este mismo País.
Por esto tendremos que usar un filtro en la segunda pantalla creada: “Filters” para que podamos enseñar la información de las ciudades relacionada a un País.
4. Entonces vamos a poner en la pantalla “Filters” un filtro como en la siguiente imagen:
En la imagen vemos que para enseñar la ciudad de un país especifico, tendremos que usar un filtro que llame la base de datos de la primera pantalla “Countries”.
Le diremos de enseñarnos el campo: (cities), o sea las ciudades, que tenemos en la BD en la que estamos y de filtrarlas por la condición ("Incluye").
En el compositor tenemos que seleccionar qué campo hay que incluir (mostrar) en el filtro. En nuestro ejemplo vamos a elegir (Categorias.Countries), que será el campo de la primera pantalla creada, que contiene el indice de Países.
¿Qué significa el campo (Categorias.Countries)?
Categorias -> es el nombre de la base de datos que queremos filtrar (la de la primera pantalla).
Countries -> es el nombre del campo, en formato texto, que contiene la información de los países, de la primera base de datos creada.
De esta formas pedimos al filtro dinámico que, al hacer click en la lista de los Países de la primera pantalla, automáticamente muestre sólo las ciudades relacionadas a este País.
El filtro detectará el país seleccionado (por esto el filtro se llama dinámico, ya que va cambiando) y mostrara esta información en la pantalla “Filters”, mostrando las ciudades relacionada al país elegido.
Si el usuario va a elegir Spain, por ejemplo, se le enseñará una pantalla con las ciudades de Madrid, Barcelona y Sevilla, como en el siguiente ejemplo.
Luego se podrá crear una vista detalle, en la pantalla “Filters” para visualizar los detalles de cada ciudad.
Sólo bastará asignar al campo ciudad, en la vista lista, la acción: abrir vista: detail_1 para que el usuario pueda ver los detalles de una ciudad especifica.
El resultado final será como este:
Véase también el video tutorial en nuestro canal Youtube sobre Filtros dinámicos y base de datos relacionales