Búsqueda compuesta en un control Report


Jordi Mesa
Buenas David, tengo una duda... quiero hacer en un Report una consulta por más de un valor... pero no lo consigo.. he intentando poner 2 variables que apunten al Report.Query pero una cambia el valor a la otra... como puedo hacer un Query compuesto con los datos que tengo en el Report.

DecSoft

Hola Jordi,

No es posible hacer búsquedas "compuestas" utilizando la propiedad "Query" del Report. La forma de hacerlo es trabajando sobre la propiedad "Data" del report, bien en el servidor, bien en el cliente: recuerda que la propiedad "Data" determina lo que se muestra en el Report, de modo que, la búsqueda deberías hacerla sobre dicha propiedad, o bien antes de "alimentar" dicha propiedad, realizando el filtrado que estimases oportuno.



Jordi Mesa
OK... es una putadilla... pq poder filtrar los datos desde en Report estaría muy bien... pq abriría un arco de posibilidades muy interesante para el usuario.. pq es imposible crear tantas llamadas PHP como opciones tenga cada base de datos... y es imposible saber que búsquedas desea realizar cada usuario.. poder usar más de un query hubiera sido genial...

DecSoft

Hola Jordi,

No estoy de acuerdo contigo en absoluto. El Query del report es una forma sencilla de buscar en el report, y, puesto que es sencilla, permite sólo la búsqueda "sencilla". Pero, el report atiende a su variable Data, y, esta variable Data la conformamos nosotros. No es para nada imposible saber qué se busca, y, en definitiva, conformar la variable Data en consecuencia: esto se puede hacer tanto en el cliente como en el servidor, de hecho yo lo hago en algunas aplicaciones sin problemas.

Por ejemplo, dices que "es imposible saber lo que busca el usuario", pero, ¿cómo es eso? Una simple casilla de texto daría al usuario a escribir o que quisiese buscar... de modo que ya sabrías lo que está buscando el usuario... para mí es tan sencillo como eso... no veo dónde puedes encontrar dificultad en eso.



Jordi Mesa
El usuario en la entrada se ha colocado para filtrar el QUERY escribe por ejemplo: MAÑANA HOMBRE El query no filtra dependiendo de MAÑANA o HOMBRE sino que filtrara "MAÑANA HOMBRE" como una cadena exacta... entonces no encontra todas las que tenga MAÑANA y HOMBRE... ... Bueno serán cosas mías... pero yo creo que así seria más útil... pq no entiendo como puedo hacerlo como tu dices con la variable Data...

DecSoft

Hola Jordi,

En primer lugar, si quieres hacer una búsqueda más avanzada, no debes usar el Query. Entonces, situando otro control Input, uno que no use el Query del Report, permitirás al usuario buscar por cierto texto. Ahora bien, la variable Data es un Array de objetos, que, tú puedes iterar, como cualquier otro Array. Puedes preparar un Array temporal, e ir iterando la variable Data, rellenando el Array temporal, si lo que el usuario busca se encuentra en alguna de las propiedades del objeto iterado: si esto es así, añades el registro al Array temporal, y, finalmente, cuando la iteración acabe, asignas el Array temporal, el cual contendría los registros filtrados / buscados, a la variable Data del Report.

Lo anterior es hablando de filtrar la variable Data en el cliente. En el servidor sería aún más sencillo, pues, lo que tú retornas de un script del servidor es una variable Data (un Array de objetos) lista para usar, de modo que puedes conformarla como tú lo precises, filtrando, buscando, para conformar la variable Data que deba mostrar la app en el control Report.


Todo el mundo puede leer el foro de soporte de DecSoft para aprender del mismo, sin embargo, sólo los clientes de DecSoft pueden abrir nuevos hilos. Compre una o más licencias de productos de DecSoft y obtendrá este y otros beneficios.

Este sitio utiliza "cookies" útiles para almacenar sus preferencias.

Bien. Ocultar esta nota. Obtener más información.