FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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. Alguien tiene alguna idea? |
#2
|
||||
|
||||
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
__________________
Dulce Regalo que Satanas manda para mi..... |
#3
|
||||
|
||||
Cita:
No parece que el código que has puesto tenga nada "raro".
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
|||
|
|||
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.... Última edición por feliz-58 fecha: 21-06-2022 a las 16:48:46. |
#5
|
|||
|
|||
Cita:
y en el else, utilice esta:
Que es la consulta original, y resolvió todo. Cosas extrañas de la vida |
#6
|
||||
|
||||
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.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#7
|
||||
|
||||
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.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Aplicación se queda congelada !!!! | david_uh | Varios | 2 | 20-10-2012 03:08:23 |
Cursor no recorre toda la tabla, se queda a medias | arrakshe | MySQL | 2 | 12-07-2012 16:07:13 |
Reus se queda sin follódromo. | marcoszorrilla | La Taberna | 4 | 27-07-2008 19:09:45 |
Filtrado de una tabla. | fortran | Conexión con bases de datos | 14 | 01-08-2003 11:32:41 |
Filtrado de una tabla. | fortran | Conexión con bases de datos | 1 | 24-07-2003 14:11:53 |
|