Tenemos datos de apartamentos turísticos
y las valoraciones que de ellos hacen los usuarios. Estas valoraciones están agrupadas por categorías.
Una vez cargados los datos
en el modelo, mediante el script añadimos un valor ficticio que contiene las
puntuaciones máximas que pueden obtener en cada categoría. Esta puntuación máxima la tratamos como si fuera un apartamento más, o sea, será un valor más de la tabla de apartamentos.
Obviamente, si
tenemos un cuadro de lista con los apartamentos, basta con que el usuario
seleccione los que quiera ver y seleccionando el valor “Puntuación Máxima” verá
o no la columna azul.
Esta es la solución perfecta cuando el listado de apartamentos tiene pocos elementos, pero como en este caso la lista puede llegar a ser muy larga, no queremos que el usuario tenga que marcar o desmarcar en el cuadro de lista porque por error puede eliminar el resto de selecciones.
Por tanto hemos ideado el siguiente mecanismo:
1º - Creamos una variable que
controlará la visualización de los 2 iconos que crearemos a continuación:
LET vL.Punt_Max_SN = 1;
2.- Creamos un cuadro de texto con esta imagen de fondo y estas propiedades:
Donde la expresión es:
='("' & Concat(DISTINCT Apartamentos,
'"|"') & '"|" Puntuación Máxima")'
3.- Creamos otro cuadro de texto con esta imagen de
fondo y estas propiedades:
='("' & Concat(DISTINCT {<Apartamentos -= {' Puntuación
Máxima'}>} Apartamentos, '"|"') & '")'
Esta expresión lo que hace es
deseleccionar el valor “Puntuación Máxima” del campo Apartamentos.
Y por último, en la pestaña de
diseño:
Los iconos aparecerán y desaparecerán de pantalla según el
valor de la variable vL.Punt_Max_SN. Ambos estarán ubicados justo en la misma
posición para simular el efecto de que efectivamente se trata de un switch.
La acción “seleccionar en campo” permite introducir valores
en la caja “Buscar cadena de texto”:
- Si el campo es numérico, basta con escribir el nº.
- Si el campo es alfanumérico: Se puede introducir el valor tal cual o entre comillas simples. Funciona igual de las dos formas y da igual que el valor tenga espacios en blanco. Ej: Aires de Casla.
Cuando se trata de una multiselección, el formato que se
debe escribir en la caja “Buscar cadena de texto” debe ser:
- Si es el campo es numérico: (valor1|valor2|valorn)
- Si el campo es alfanumérico: (“valor1”|”valor2”|”valorn”)
Debe
observarse que los valores van entre paréntesis y separados por el carácter
‘|’. Además en el caso de valores alfanuméricos, cada uno de ellos se escribe
entre comillas dobles ‘ “ ‘ .