Delphi - Busqueda dentro de un dbGrid, ayuda !!!!

 
Vista:

Busqueda dentro de un dbGrid, ayuda !!!!

Publicado por Sebastián (4 intervenciones) el 12/01/2006 13:19:48
Tengo un dbGrid y deseo buscar un campo por columnas, por ejemplo tengo una columna que se llama Nro de Socio y desearia buscar un nro en particular. Al dbGrid lo ordeno cuando hago click en el titulo, esto es practico pero cuando tengo 300 socios seria mas facil buscar por numero.

Quiero implementar si se puede una busqueda parecida a la busqueda de firefox, a medida que se va escribiendo que se vaya posicionando sobre el campo que corresponda.

Es posible hacer una busqueda sobre un dbGrid ?? Si no se puede, como hago para buscar en la tabla y luego posicionarme en la fila que contiene ese campo en el dbGrid ??

Les agradezco mucho su ayuda ya que estoy terminando un trabajo para la universidad y eso me solucionaria un gran problema.

Sebastián
[email protected]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Busqueda dentro de un dbGrid, ayuda !!!!

Publicado por Virum (484 intervenciones) el 12/01/2006 17:40:48
Hola:

Los DBGrids visualizan los datos de una tabla y están alimentados por los datos de un DataSet, por lo tanto toda búsqueda que hagas en el DataSet la tendrás hecha en el grid.

Si quieres buscar en una columna (la columna son valores de un campo del DataSet), busca en ese campo del DataSet y ya está.

Vamos a lo práctico (y la mitad de la nota para mí ... es broma).

Supongamos que tienes:

- DBGridSocios
- DataSetSocios (que alimenta al grid)
- CAMPONUMESOCIO (campo donde buscar)
- EditSocio (edit para entrar el nº de socio a buscar)

En el evento OnChange del EditSocio pones

DataSetSocios.Locate('CAMPONUMEROSOCIO', EditSocio.Text, [loPartialKey, loCaseInsensitive]);

y a medida que vayas tecleando el nº verás que se va posicionando en el grid.

Aclaraciones:
[loCaseInsensitive] quizás no sea necesario si el campo es númerico, porque es para que busque igual estando en mayúsculas que en minúsculas, aunque ahora que me doy cuenta, esto no lo he usado más que con campos alfanúmericos, por lo que no se si con campos numéricos funciona.

Si quieres que al salir del Edit te lo deje limpio para la próxima búsqueda, pon en el evento OnExit del Edit esto

EditSocio.Clear;

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busqueda dentro de un dbGrid, ayuda !!!!

Publicado por Seba (4 intervenciones) el 21/01/2006 02:10:50
GRACIAS !!! lo voy a probar y despues te cuento
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Busqueda !! ANDUVO !! pero..

Publicado por seba (4 intervenciones) el 24/01/2006 16:05:12
Anduvo bien, pero no pude buscar por el campo integer (nro_socio), despues hace una busqueda exacta y se posiciona ahi, no hace busquedas parciales (que coincidan las primeras letras) sino que tengo que terminar de escribir lo que quiero buscar pero anda bien y me sirve de mucho...

Muchas Gracias Virum!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar