Ver la Versión Completa : Como enviar los valores de un TDBGRID a cuadros de texto
Luis Castro
11-01-2007, 16:34:14
Estimados, necesito enviar los valores de una linea TDBGRID a cuadros de texto haciendo click en la fila de la grilla, ¿alguien podria auxiliarme?
Gracias
Bicho
11-01-2007, 16:55:07
Hola, si tienes enlazado el DBgrid a un DataSet, sólo debes coger un DBEdit y enlazarlo al DataSet, y en la propiedad DataField, le indicas que campo del dataset quieres. Así al seleccionar un registro en el DBGrid se actualizará el cuadro de texto.
De todos modos, sino quieres usar un DBEdit, y quieres usar un Edit o descendiente suyo, puedes acceder a la propiedad Cells del DBGrid, de esta manera:
Edit1.Text := DBGrid1.Cells[Nombre, x]; //mostramos el nombre de la fila seleccionada
Edit2.Text := DBGrid1.Cells[Codigo, x]; //mostramos el codigo de la fila seleccionada
Espero te sirva.
Saludos
Neftali [Germán.Estévez]
11-01-2007, 17:08:43
Yo accedería directamente al DataSet en lugar de hacerlo al DBGrid.
Si el DBGrid está "enganchado" a una tabla o consulta, puedes acceder a los campos de la fila seleccionada en el DBGrid como:
Edit1.Text := Tabla1.FieldByName('Codigo').AsString;
// similar si es un query
Luis Castro
11-01-2007, 17:31:15
Hola, si tienes enlazado el DBgrid a un DataSet, sólo debes coger un DBEdit y enlazarlo al DataSet, y en la propiedad DataField, le indicas que campo del dataset quieres. Así al seleccionar un registro en el DBGrid se actualizará el cuadro de texto.
De todos modos, sino quieres usar un DBEdit, y quieres usar un Edit o descendiente suyo, puedes acceder a la propiedad Cells del DBGrid, de esta manera:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)
Edit1.Text := DBGrid1.Cells[Nombre, x]; //mostramos el nombre de la fila seleccionada
Edit2.Text := DBGrid1.Cells[Codigo, x]; //mostramos el codigo de la fila seleccionada
Espero te sirva.
Saludos
Muchas gracias estimado, aplique la primera opcion que me diste y espectacular.
saludos.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.