PDA

Ver la Versión Completa : Como hayar el valor de un campo con un DBgrid?


bustio
11-01-2005, 01:22:13
Hola:

Tengo una duda. En un DBGrid tengo el contenido de una consulta, ahora, el orden de los campos del DBGrid es importante. EL primero de corresponde con el campo mas importante del DBGrid. Yo necesito tomar este valo en la fila que esta marcada para poder hacer otras consultas. El detalle esta en que no se como obtener el valor de este primer campo estado ubicado en cualquier otro, pero no en el primero.
La cosa seria algo asi:

CODIGO | NOMBRE | DIRECCION | etc...
-----------------------------------------
880405 | Lazaro |5 ave.....

Yo necesito saber que valor tiene NOMBRE(880405) en la columna donde estoy pero si tengo marcada por ejemplo la casilla DIRECCION(lazaro).

Gracias!

Lazaro Bustio Martinez

marcoszorrilla
11-01-2005, 07:38:40
Como la rejilla está conectada a los datos, símplemente:

MiVariable:=MiTablaNombre.Value;


Un Saludo.

bustio
13-01-2005, 16:38:39
Hola:
Quiero agradecerte por tomarte el trabajo de responderme, pero tu solucion no me sirvio de mucho.
Veras, tengo mi DBGrid conectado a un DataSource que a su vez esta conectado a una ZQuery(del componente ZEOS), entonces por este motivo, el DBGrid tomara los valores segun sea lo que devuelva mi ZQuery. Las columnas de mi DBGrid estan ordenadas justamente de manera que la columna primera es la mas importante de todos los datos que este control muestra. Yo necesito que dando un click en cualquier columna me devuelva el contenido de la primera columna para esa fila.
Por todo esto no puedo decir que MiVariable := MiTabla.Value, por que no lo tengo conectado a una tabla propiamente dicha y los valores que devuelve mi consulta son muy variables en cuanto a contenido.

Gracias nuevamente, y disculpa mi ignorancia.

Saludos..

Lazaro Bustio Martinez

maeyanes
13-01-2005, 16:59:25
Lo que te dijo marcoszorrilla está bien, pero te lo pongo de otra forma...

Al estar conectado tu query al dbgrid mediante un datasource, al seleccionar una fila en el dbgrid, el registro "ligado" en el query también se selecciona... Entonces si haces:


MiVariable := MiQuery.FieldByName('NombreCampo').Value;
// Otra forma podría ser:
MiVariable := DataSource.DataSet.FieldByName('NombreCampo').Value;


obtienes el valor deseado en la variable.


Saludos...

scooterjgm
13-01-2005, 17:50:21
Yo obtengo los datos del TcxGrid de la siguiente forma:

cxGridTableView.GetColumnByFieldName('NOMBRE').DataBinding.Field.AsString

No es un DBGrid pero es parecido... no sé si te servirá de ayuda.

bustio
13-01-2005, 20:40:53
Gracias a los dos, de las dos maneras me sirve!!!!
Aprecio mucho lo que se hace aqui... y todo gracias a ustedes.!