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)
-   -   DBGrid, obtener contenidode una posición (https://www.clubdelphi.com/foros/showthread.php?t=27531)

Caro 23-11-2005 16:29:31

DBGrid, obtener contenidode una posición
 
Hola a Todos

Antes de abrir este hilo busque en los foros y no encontre solución a mi problema, El problemita que tengo ahora es el siguiente, quisiera sacar el contenido de algunas posiciones de mi dbgrid sin que el foco este situado sobre el dbgrid.

Suponiendo que este mi dbgrid

Código:

________________________
|campo1 |campo2 |campo3|
---------------------------
| 1        | 2                | 3        |
---------------------------
| 4        | 5                | 6        |
---------------------------
| 7        | 8                | 9        |
---------------------------

Yo quisiera obtener el contenido digamos de la fila 1 y columnas 1 y 2 esto me devolveria los valores 5 y 6 otro ejemplo el contenido de la fila 1 y 2 con columnas 1 y 2 esto me devolveria los valores 5,6,8,9.

No tengo idea de como hacerlo, por favor si me podrian dar alguna idea me ayudarian bastante.

Muchas Gracias por adelantado

Utilizo delphi 7 , base de datos access y componentes ADO

ContraVeneno 23-11-2005 16:50:31

Sería mejor obtener los datos del dataset enlazado al dbgrid, en lugar de trabajar sobre el dbgrid.
Consulta las propiedades RecNo y Fields[x] de tu dataset, supongo que con esas dos propiedades puedes lograr lo que buscas.

Caro 23-11-2005 18:38:44

Muchas gracias ContraVeneno las propiedades que me mensionaste me funcionaron perfectamente y resolvieron mi problema, pero no estoy segura de que las haya utilizado bien aqui pongo el codigo de mi pruebita, gracias de nuevo.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
   i,j,fila_ini,fila_fin,columna_ini,columna_fin:Integer;
   cad:String;
begin

   //para el ejemplo son valores por defecto claro que se le debe pasar fila ini 
   //y fin como columna ini y fin como parametros
 
   fila_ini:=3;
   fila_fin:=5;
   columna_ini:=1;
   columna_fin:=3;
 
   for i:=fila_ini to fila_fin do
   begin
      ADOTable1.RecNo:=i;
      for j:=columna_ini to columna_fin do
      begin
         dbGrid.SetFocus;
         dbGrid.SelectedIndex:=j;
         cad:=cad+dbGrid.Fields[dbGrid.SelectedIndex].AsString+', ';
      end;
   end;
   showmessage(cad);
end;

Nota: Las filas empiezan en la posición 1 y las columnas en la posición 0, si existe otra forma hacerlo sera bienvenido.

Saludos y que tengan un bonito dia

ContraVeneno 23-11-2005 19:33:17

Código Delphi [-]
 for i:=fila_ini to fila_fin do begin
 ADOTable1.RecNo:=i;
 for j:=columna_ini to columna_fin do begin
  cad:=cad+adotable1.Fields[j].AsString+', ';
 end; //for j
    end; //for i
    showmessage(cad);

me cuentas que pasa con esos cambios.

Caro 23-11-2005 19:45:42

Super mucho mejor, muchas gracias de nuevo ContraVeneno.


La franja horaria es GMT +2. Ahora son las 21:39:48.

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