Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Detectar click sobre columna de un DBgrid (https://www.clubdelphi.com/foros/showthread.php?t=27123)

lavtaro 12-11-2005 03:57:10

Detectar click sobre columna de un DBgrid
 
Hola a todos:

Tengo un DBgrid y necesito que dependiendo de en que columna de ella (sobre los datos) haga click (o doble click) hacer una acción determinada.

Por ejemplo si hago clic sobre la columna saldo llamar una función que muestre las cifras que componen ese saldo. Pero si hago clic en la columna nombre aparezca una ventana con los datos personales.

Se puede asociar un menú a cada columna pero la idea es solo hacer click y no seleccionar una opción de un menú emergente.

De antemano muchas gracias.

Héctor Randolph 12-11-2005 05:01:16

Hola lavtaro.

Aqui tienes dos opciones:

La primera es usar el evento OnCellClick y verificar el nombre del campo asociado a la columna

Código Delphi [-]
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
  if Column.FieldName='MiCampo' then
    //Tú código aquí
  else if Column.FieldName='OtroCampo' then
    //Más código
end;

La segunda es usar el evento OnDblClick

Código Delphi [-]
procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
  Campo: String;
begin
  Campo:=TDBGrid(Sender).SelectedField.FieldName;
  if Campo='MiCampo' then
    //Codigo
  else
  if Campo='OtroCampo' then
   //Codigo
end;

Espero que sea útil, un saludo

lavtaro 13-11-2005 01:56:10

Muchas gracias HECTOR RANDOLPH. Me tenía muy preocupado este tema. :D


La franja horaria es GMT +2. Ahora son las 23:17:53.

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