Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Buscar en un DBGRID (https://www.clubdelphi.com/foros/showthread.php?t=7656)

Carlex 23-02-2004 04:36:20

Buscar en un DBGRID
 
Hola mi consulta es muy simple pero que hasta ahora no la puedo lograr, como puedo en contrar un dato en un dbgrid sin usar un dbnavigator para navegar?
Quisiera mediante codigo, digamos un FOR se pueda navegar dentro del dbgrid y encontrar un dato especifico. Estoy usando ADO, y dentro de las opciones de dbgrid no hay una opcion find paar un dato, o no? Ayuda

jachguate 23-02-2004 05:50:06

Creo que tenes un problema de concepto.

En realidad lo que recorres no es el dbgrid, sino el DataSet asociado a este (a través de un DataSource).

El dataset tiene los métodos First, Next y EOF que te ayudarán a construir un ciclo de la forma:

Código:

  AdoTable1.First
  While not AdoTable1.eof do
  Begin
    HacerCualquierCosaConElRegistroActual;
    AdoTable1.Next;
  End;

También tenes los métodos FindKey y Locate para encontrar registros.

Hasta luego.

;)

Carlex 23-02-2004 16:01:49

¿Conceptos?
 
Gracias por responder pero no es un error de conceptos, eso ya se, lo que pasa es que dentro del dbgrid esta los resultados de un query, si estuviese a una tabla seria facil, pero estos datos estan en un query temporal es por eso que deseo buscar dentro del dbgrid, para no tener que hacer otra consulta, no se si se me entiende. Gracias

Nuria 23-02-2004 16:04:15

Hola Carlex!

Un query es como una tabla, puedes utilizar la función locate sino quieres realizar otra consulta.

Saludos!

jdelphi 23-02-2004 23:35:06

Te recomiendo leer Esto..
 
http://www.elrinconcito.com/delphi/trucos/Compo13.htm

Creo que es lo que estas buscando....

y luego contantame...

jachguate 24-02-2004 18:39:26

si... conceptos
 
Un Query y una Tabla son datasets.

Es decir

Código:

  if (MiQuery is TDataSet) and (MiTabla is TDataSet) Then
    ShowMessage('jachguate is right!')
  else
    ShowMessage('jachguate is wrong!');

me daría la razon :cool:

si revisas mi mensaje anterior, veras que yo hablé de DataSets y no de Tablas o Queryes... cierto?

Por lo tanto, como ya lo apuntó Nuria mis consejos siguen siendo válidos en tu caso.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 10:59:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi