Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 21-09-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola JXJ.

Me resultó interesante hacerlo, aunque dudo de su utilidad...

Lo que hice fué pasar las columnas del DBGrid a tantos edits como tenga la misma, cuando se hace un click sobre una celda.
Con pocas modificaciónes y del mismo modo; podrías pasar las columnas a TStrings, no tán vistoso, pero más simple y efectivo
si sólo buscas pasar los valores a variables.

Pero bueno, fijate si te sirve o al menos te dá una idea de como hacerlo:
Código Delphi [-]
...
type
  TForm1 = class(TForm)
    IBDatabase1: TIBDatabase;
    IBTransaction1: TIBTransaction;
    IBDataSet1: TIBDataSet;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
  private
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  i,c: Integer;
begin
  IBDataSet1.Open;   
  c:= DBGrid1.Top + DBGrid1.Height + 8;    // Posición del 1er Edit
  for i:= 0 to DBGrid1.Columns.Count -1 do // Tantos Edits como columnas mostradas
  begin
   with TEdit.Create(Self) do        // Crear Edits
   begin
     Name:= 'Edit'+IntToStr(i);      // Edit1, Edit2,... EditN
     Text:= '';
     Left:= 8;
     Top:=  c;
     Parent:= Self;                  // Mostrarlo
     Inc(c,30);                      // Supongo Heigth 25
   end;
  end;
end;

procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
  i: Integer;
begin
  for i:= 0 to DBGrid1.Columns.Count -1 do
   with TEdit(FindComponent('Edit'+IntToStr(i))) do
   begin
     Text:= DBGrid1.Columns[i].Field.AsString; // Poner dato en Edit
     Width:= Canvas.TextWidth(DBGrid1.Columns[i].Field.AsString+'0'); // Ajustar ancho Edit 
   end;
end;

Nota: No tiene en cuenta el Height del Form respecto a la cantidad de campos, es decir que si tenés 50 campos, vas a tener que modificar algo, o comprar un monitor mas alto...


Saludos.

Última edición por ecfisa fecha: 21-09-2010 a las 07:10:06.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Seleccionar fila DBgrid ?? Coco_jac Varios 3 25-05-2010 16:58:41
Seleccionar una fila de un DBGrid chinchan C++ Builder 3 09-03-2010 16:58:37
seleccionar y modificar fila por fila enMYSQL schaka SQL 14 20-03-2008 06:06:23
Seleccionar una fila en un DBGRID erickperez6 Conexión con bases de datos 1 02-05-2004 16:49:34
seleccionar fila de un DBGrid empty Varios 1 31-03-2004 12:00:47


La franja horaria es GMT +2. Ahora son las 11:02:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi