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. |
Si miras la llamada al procedimiento OnTitleClick :
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.
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. ;) |
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