Ver Mensaje Individual
  #16  
Antiguo 16-11-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 24
Caro Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Caro, yo si te leo, como no hacerlo.
Saludos
Oh, muchas gracias amiguito .

Creo que ya te he entendido deprimera, tu quieres obtener los valores del ultimo DBGrid que ha tenido el foco, si es así no se puede directamente, ya que si preguntas por Focused el que va tener el foco es tu boton o si preguntas por ActiveCOntrol lo mismo.

Lo que se me ocurre es que guardes en una variable el ultimo dbGrid en el que s ele ha hecho click, eso lo puedes hacer en el evento OnEnter, pero también debes definirte una variable global.

Código Delphi [-]
 DBGridFoco : TDBGrid; //Nuestra variable global
 
 en el codigo de tu boton
 
 if DBGridFoco = DBGrid1 then
  begin
   cod:= adotable1.fieldbyname('Codigo').AsInteger;
   desc:= adotable1.fieldbyname('Servicio').AsString;
  end;

 if DBGridFoco = DBGrid2 then
  begin
   cod:= adotable2.fieldbyname('Codigo').AsInteger;
   desc:= adotable2.fieldbyname('descripcion').AsString;
  end;
 
//Ahora en el evento OnEnter de cada DBGrid
 
procedure TForm1.DBGrid1Enter(Sender: TObject);
begin
 DBGridFoco := DBGrid1;
end;
procedure TForm1.DBGrid2Enter(Sender: TObject);
begin
 DBGridFoco := DBGrid2;
end;

La variable global puede ser de otro tu tipo, solo te sirve para que identifiques cual ha sido el ultimo que ha tenido el foco.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 16-11-2008 a las 00:21:17.
Responder Con Cita