Al quitar un filtrado a la tabla el Ggrid se queda vacio.
Saludos, les comento algo curioso que me pasa, tengo un DBGrid enlazado a un Query con la siguiente consulta:
Y luego hago el siguiente filtrado:
Resulta que cuando escribo algun nombre que si esta en la tabla, y borro el contenido del Edit todo funciona bien, pero cuando escribo alguna letra o frase de la cual no existe en la tabla y la tabla se queda vacia, y elimino el contenido del edit, el dbgrid se queda vacio a menos que escriba otra cosa(hasta un espacio vacio) que si este en algun registro de la tabla y vuelva a borrar entonces aparecen todos los registros nuevamente. :confused: Alguien tiene alguna idea? |
particularmente no uso filtros porque no conozco la cantidad de registros que tendra la tabla
lo que hago es en el query aplicar la busqueda en el evento onchange del edit genero la cadena del query y lo voy abriendo mientras se escribe, como una busqueda secuencial |
Cita:
No parece que el código que has puesto tenga nada "raro". |
Cita:
Esta mañana probé esto:
y de esta forma hace lo mismo, al borrar todo la tabla se queda vacia. Obviamente lo coloqué en el Onchange del edit.... |
Cita:
y en el else, utilice esta:
Que es la consulta original, y resolvió todo. Cosas extrañas de la vida :o |
Aunque ya nos dijiste que encontraste una solución te comento lo siguiente para que no quede como una "cosa[s] extraña[s] de la vida"
Por lo que cuentas y muestras, yo pienso que el inconveniente que tienes es por la línea donde validas que el edit tenga algo de texto.
Como el evento se dispara cuando el texto cambia, aunque hayas borrado todo, creo que el filtro queda activo con algún carácter que impide mostrar todo el contenido de la tabla. Es por ello que al agregar una sentencia por defecto en el ELSE obtienes un resultado. Con el filtro hubieses podido limpiar el filtro cuando el texto estuviese vacío.
Ahora, debes evaluar cual método te es mas conveniente al realizar el cambio de texto. ir a la base de datos y realizar la consulta o realizar un filtro sobre el dataset que ya tienes en memoria. Igual, ambos tienen un costo en recursos y tiempo en la aplicación. |
Aunque ya funciona y sólo como comentario, cuando utilizas el ParamByName, no hare falta realizar un QuotedStr. Según el tipo del parámetro se añadirán las comillas si hacen falta.
|
La franja horaria es GMT +2. Ahora son las 20:01:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi