* No Exemplo abaixo estamos trabalhando com o componente de conexão FireDac
Vá até o Evento OnTitleClick ou criei uma procedure e associe a esse evento.
Exemplo
DBGrid1.OnTitleClick := OrdenarDBGrid;
procedure TForm1.OrdenarDBGrid(Column: TColumn);
var
I: Integer;
sIndexName: string;
opcoes: TFDSortOptions;
begin
for I := 0 to DBGrid1.Columns.Count-1 do
begin
DBGrid1.Columns[i].Title.Font.Color := clBlack;
end;
with TFDMemTable(DBGrid1.DataSource.DataSet) do
begin
Column.Title.Font.Color := $00AE6726;
if IndexName = Column.Field.FieldName+'_ASC' then
begin
sIndexName := Column.Field.FieldName+'_DESC';
opcoes := [soDescending];
end
else
begin
sIndexName := Column.Field.FieldName+'_ASC';
opcoes := [];
end;
IndexDefs.Update;
if IndexDefs.IndexOf(sIndexName) < 0 then
begin
AddIndex(sIndexName, Column.Field.FieldName, '', opcoes);
end;
IndexName := sIndexName;
end;
end;