Muitas pessoas querem poder ter a funcionalidade de clicar no título de um DBGrid e poder ordenar por aquela coluna, assim como faz o Windows Explorer. Então, pensando em compartilhar conhecimento, segue abaixo uma rotina para ajudar estes programadores a terem esta funcionalidade a mais nos seus softwares.


Const
  INDICE_DEFAULT = 'DEFAULT_ORDER';
  GRID_COR_INDICE_TITULO = clCream;


procedure CliqueNoTitulo(Column: TColumn);
var
  strColumn: string;
  x: integer;
  JaEstaEmUso: Boolean;
  idOptions: TIndexOptions;
  dbgrGrid: TDbGrid;
begin
  dbgrGrid := TDbGrid(Column.Grid);
  with dbgrGrid.DataSource.DataSet do
  begin
    strColumn := INDICE_DEFAULT;

    { Se for um campo calculado não faz nada }
    if  ( Column.Field.FieldKind = fkCalculated )
...
Quer ler esse conteúdo completo? Tenha acesso completo