Essa dica é velha e, ao mesmo tempo, dispendiosa. Ela faz com que o dataset (no caso, a consulta qyConsulta) seja fechado e depois aberto com uma nova cláusula SQL ORDER BY. Isso gera idas-e-voltas ao servidor, gerando tráfego de rede desnecessário, denegrindo até mesmo o desempenho da aplicação.
A melhor prática é ter os dados carregados e ordenados localmente em um ClientDataSet associado ao datasource usado pelo DBGrid. Tem dicas à botão na Internet falando sobre como ordenar um ClientDataSet. O próprio Bruno Lichot tem exemplos que abordam isso. É só procurar nas mensagens antigas da lista, em http://br.groups.yahoo.com/group/delphi-br/messages. Sds. P.S.: Lembrando sempre que o que se ordena não é o componente de exibição, e sim a fonte dos dados do mesmo, OK? ;) -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de Nazareno Neto Enviada em: sexta-feira, 20 de agosto de 2010 15:34 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Ordenar clicando no título do dbgrid qyConsulta.Close; qyConsulta.SQL[3]:=' Order By '+TABELA+Column.FieldName; qyConsulta.Open; Em 20 de agosto de 2010 16:17, Allan GabrielAM < alla...@americamoveiseletro.com.br> escreveu: > > > Olá, procurei no histório da lista e não encontrei, preciso fazer que o > sistema entenda que ao clicar no título da coluna de um dbgrid ele ordene > por ela, alguém poderia me dar uma ajuda?, uso Delphi7 + FireBird 2.03 + > IBX. > > Atenciosamente, > Rafael > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Nazareno Neto Desenvolvedor Delphi e Firebird Skype: nazareno.nobrega http://www.delphisistemas.com.br nazarenon...@delphisistemas.com.br nazareno.nobr...@gmail.com