![]() |
filtro por caracter
hola... necesito filtrar una lista de registro de socio o sea los nombres, por caracteres.. es decir a medida que voy escribiendo en un edit vaya apareciendo las coincidencias en un tdbgrid, muchas gracias por su tiempo....
|
Hola
Query o table ?. Que BD ?. Saludos |
el motor es interbase, con un query hice la consulta caral....
|
Hola
Tienes que hacer la consulta sql y usar like, algo asi: Saludos |
Filtrar en SQL
Veo que usas un dbgrid. Lo puedes conectar a un dataset y este a su vez a un query. En el evento del edit (On Change), refresca el query, y dejalo en active = True, cuando salgas del form cambia su active a false. Listo!
Un ejemplo de refrescamiento puede ser:
Nota: Recuerda que también puedes usar filtros. |
voy a probarlo.... ah y como hago que me salga en tdbgrip las coincidencias?
|
Coincidencias en el dbgrid
Las coincidencias salen de forma automatica cada vez que refrescas la consulta, y esta se refresca en el evento OnChange del edit.
Nota: Esto afecta mucho el rendimiento del servidor, más si trabajas en red. Por tanto, recomiendo que uses una tabla en memoria, como el comopnente virtualtable de devart(gratuito) o bien, el componente que incluye delphi clientdataset. |
Échale un vistazo a este ejemplo a ver si es lo que necesitas.
De todas formas, soy de los que piensan que la búsqueda incremental en los Grid no es adecuada, a no ser que estés convencido de que el Grid va a tener muy pocas filas. De otra manera estás haciendo muchas más consultas de las estrictamente necesarias. También debes tener en cuenta el tráfico de red (si es tu caso) que puede generar. |
muchas gracias... lo voy a probar... gracias por tu tiempo...
|
Cita:
|
La franja horaria es GMT +2. Ahora son las 04:19:42. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi