Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   DBGrid evento OnTitleClick (https://www.clubdelphi.com/foros/showthread.php?t=54608)

emeritos 25-03-2008 08:57:23

DBGrid evento OnTitleClick
 
Hola Amigos,

Estoy utilizando el evento OnTitleClick de DBGrid, para cuando aprieto una columna de la misma hacer un procedimiento. Pero no se como identificar que columna se ha apretado.
¿ Con que funcion se realiza ?

Gracias.

gluglu 25-03-2008 09:34:42

Si miras la llamada al procedimiento OnTitleClick :

Código Delphi [-]
procedure TForm.DBGrid1TitleClick(Column: TColumn);
begin
  ....
end;
verás que precisamente uno de los parámetros que se entrega es la Columna que buscas.

Por lo tanto ahí mismo tienes el número de columna que estás buscando cuando pulsas con el ratón en el título del DBGrid.

Código Delphi [-]
procedure TForm.DBGrid1TitleClick(Column: TColumn);
begin
  If Column.Index =  0 then ...
  If Column.Index =  1 then ... 
end;

Una vez que tienes el Index de la columna, también podrías preguntar por el Campo de tu tabla asociado a dicha columna. Ya dependerá de lo que necesites.

Si necesitas más datos de la Columna pulsada, puedes buscar también en la propia ayuda de Delphi por el Objeto TColumn.

;)

jgutti 25-03-2008 13:17:16

yo utilizo estas sentencias para el evento DBGrid1TitleClick

procedure TBrAyu_PptoForm.DBGrid1TitleClick(Column: TColumn);
const PreviousColumnIndex : integer = -1;
var
num:Integer;
i : integer;
begin
for i:= 1 to DBGrid1.Columns.Count do
begin
DBGrid1.Columns[i-1].Title.Font.Color := clWhite;
DBGrid1.Columns[i-1].Title.Font.Style := [];
end;
Column.Title.Font.Color := clBlack;
Column.Title.Font.Style := [fsBold];
Master.IbPpto.Close;
Master.IbPpto.SelectSql.clear;
Master.IbPpto.SelectSql.Add('select * from ppto');
Master.IbPpto.SelectSql.Add('where Emps=:Emps');
Master.IbPpto.SelectSql.Add('Order By '+Column.FieldName+'');
Master.IbPPto.Params[0].AsInteger:=Master.IbEmpreEmps.Value;
Master.IbPpto.Open;
Ordenar_x:=Column.FieldName;
Edit3.text:=Column.FieldName;
Master.IbPpto.First;
end;


La franja horaria es GMT +2. Ahora son las 09:37:04.

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