PDA

Ver la Versión Completa : Buscar en un DBGRID


Carlex
23-02-2004, 04:36:20
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:


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
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
http://www.elrinconcito.com/delphi/trucos/Compo13.htm (http://)

Creo que es lo que estas buscando....

y luego contantame...

jachguate
24-02-2004, 18:39:26
Un Query y una Tabla son datasets.

Es decir


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.

;)