Olvide decir que en vez de colocar el código en cada título, uso una variable que me captura el nombre de la columna y con un solo código me sirve para cuantas columnas tenga en el Grid.
Código Delphi
[-]
procedure TF_BuscarParc.DBGridBuscarTitleBtnClick(Sender: TObject;
ACol: Integer; Field: TField);
var
c: string;
begin
c:=Field.FieldName;
OrdenarGrid.Close;
OrdenarGrid.SQL.Clear;
if Sw_1 = 0 then
begin
OrdenarGrid.SQL.Add ('SELECT ID_PARC, CODI_PARC, NOM_PARC FROM BOM0003 ORDER BY '+ c + ' ASC');
Sw_1:=1;
end
else
if Sw_1 = 1 then
begin
OrdenarGrid.SQL.Add ('SELECT ID_PARC, CODI_PARC, NOM_PARC FROM BOM0003 ORDER BY '+ c + ' DESC');
Sw_1:=0;
end;
OrdenarGrid.Open;
DBGridBuscar.SetFocus;
end;
Saludos