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)
-   -   hacer doble click en una celda de un dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=7303)

davidgaldo 11-02-2004 12:19:51

hacer doble click en una celda de un dbgrid
 
Hola, cual es el evento que permite que si hago un doble click en una celda de un dbgrid pueda realizar una acción. Gracias a todos.

Taribus 11-02-2004 13:00:11

el evento es el OnDBlClick, que esta en la pestaña de events del DBgrid.

roman 11-02-2004 16:41:23

Añadir a lo dicho por Taribus que el evento que menciona es general para el grid y no para la celda de manera que no es directo saber sobre qué celda se hizo el doblde click. Una posible solución sería utilizar una variable privada que almacene el número de columna. Dicha variable se asignaría en el evento OnCellClick:

Código:

type
  TForm1 = class(TForm)
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DBGrid1DblClick(Sender: TObject);

  private
    ColIndex: Integer;
  end;

implementation

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
  ColIndex := Column.Index;
end;

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
  if ColIndex = 2 then
    ShowMessage('Doble click en campo #2');
end;

end.

// Saludos

__cadetill 11-02-2004 16:54:24

Ampliando la respuesta del amigo Román, y como dentro de un Grid podemos movernos con el teclado (no necesariamente con el ratón), también se podría acceder a la propiedad SelectedField del Grid (el cual nos devolverá el TField que tiene el foco en ese momento)

roman 11-02-2004 17:08:28

Por favor hagan como si mi vergonzosa respuesta anterior nunca hubiera sido escrita. Por alguna razón tenía idea de lo que menciona cadetill pero no lo encontré. Desde luego su respuesta no amplía la mía (gracias, ¡qué amable! ;) ) sino que la sustituye por completo y es en todo punto más adecuada.

// Saludos


La franja horaria es GMT +2. Ahora son las 19:28:32.

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