• Viernes 8 de Noviembre de 2024, 16:38

Autor Tema:  Componente Dbgrid  (Leído 3659 veces)

jander.atlas

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Componente Dbgrid
« en: Jueves 17 de Agosto de 2006, 13:11 »
0
Tendo colocado un componente DBGrid conectado a una consulta de una base de datos.
Lo que me gustaría saber es que una vez que ya hemos ejutado la consulta y tenemos los datos en el DBGrid como puedo recorrer todas las filas de ese DBGrid para ir obteniendo todos los valores de una columna de cada fila de forma automatica.

wako13

  • Miembro activo
  • **
  • Mensajes: 36
    • Ver Perfil
Re: Componente Dbgrid
« Respuesta #1 en: Jueves 17 de Agosto de 2006, 19:44 »
0
El DGBrid tiene una opción llamada TColumns, donde puedes editar las columnas y tiene una propiedad que creo que te puede servir la cual se llama FieldName
Yo pienso que con esa propiedad y con saber cual es tu numero de filas puedes recorrer dicha columna y sacar los valores que tiene...

Saludos cordiales

jander.atlas

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Componente Dbgrid
« Respuesta #2 en: Lunes 21 de Agosto de 2006, 12:25 »
0
Gracias wako13.Pero mi problema es que teniendo un dbgrid relleno con un monton de filas y columnas, si quisiera por ejemplo acceder en un momento dado a la fila 15 columna 12,¿como lo haría?.Es que no se como elegir la fila que quiero leer ( sin que el usuario la seleccione).
Hay un metodo para contar el numero de filas que es:
   DBCtrlGrid1->RowCount;

Pero no encuentro ninguno para acceder a una fila determinada, sin embargo si existe para una columna determinada, por ejemplo:
  DBGrid1->Fields[1]->AsInteger;

Gracias.

jander.atlas

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Componente Dbgrid
« Respuesta #3 en: Lunes 21 de Agosto de 2006, 19:19 »
0
Lo solucione así finalmente.Mediante el DataSource del DBGrid podemos acceder a la primera fila, a la ultima, a la siguiente ...etc de la siguientre manera:

          //Para ir a la primera
          DBGrid1->DataSource->DataSet->First();
          //Mientras no sea el final
          while (!DBGrid1->DataSource->DataSet->Eof)
          {
              //Tratar la tupla seleccionada
                      ....................
              //Pasar a la siguiente fila
              DBGrid1->DataSource->DataSet->Next();
          }