Utilize o grid Jvdbgrid e no evento On title click
Procedure TForm1.JvDBGrid1TitleClick(Column: TColumn); begin CASE Column.Index OF 0: SimpleDataSet1.IndexFieldNames:= 'CODIGO'; 1: SimpleDataSet1.IndexFieldNames:= 'NOME'; 2: SimpleDataSet1.IndexFieldNames:= 'ENDERECO'; 3: SimpleDataSet1.IndexFieldNames:= 'BAIRRO'; end; end; obs. Setar para TRUE a opção TitleButtons. Celso Redes ----- Original Message ----- From: Eduardo Silva ® To: Grupo Delphi-br Sent: Friday, May 06, 2005 10:27 AM Subject: [delphi-br] Mudar ordenação dasz colunas clicando no título do dbgrid Galera tenho o código abaixo que serve para mudar a ordenação do dbgrid conforme eu clico na coluna. Só que no dbgrid, para exibir os dados eu uso um datamodule com tabelas. Eu gostaria de saber se existe algum outro meio de estar ordenado estas colunas, pois do jeito que está baixo, eu tenho que associar o dbgrid a outro datasource, mudar os displaylabel e quando for fazer alguma operação na tabela (incluir, alterar, etc) eu tenho que voltar ao dataset anterior (tabela). Resumindo: é muita linha de programação que eu terei que fazer, não teria um jeito mais fácil e mais seguro de resolver isso ? var campo: string; begin campo:= column.fieldname; // CAMPO RECEBE O NOME DA COLUNA CLICADA application.processmessages; // CONSIDERAR ALGO QUE ACONTEÇA NO DBGRID DURANTE A ENTRADA NESTA PROCEDURE query.sql.clear; // LIMPA A QUERY query.sql.add('SELECT * FROM TABELA ORDER BY ' + campo); // ESCREVE O SELECT COM O ORDER BY if not query.Prepared then begin query.Prepare; query.Open; // ABRE A QUERY COM A ORDEM ESCOLHIDA. DBGrid.DataSource := DataSource1; end; end; ~\\|//~ -(o o)- o--------------oOOOo--(_)--oOOOo-------------o | | | Eduardo de Almeida Silva | | Kobra Sistemas | | [EMAIL PROTECTED] - (14)3263-0326 | | | | .oooO Oooo. | o----------------( )---( )---------------o \ ( ) / \_) (_/ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Yahoo! Grupos, um serviço oferecido por: São Paulo Rio de Janeiro Curitiba Porto Alegre Belo Horizonte Brasília ------------------------------------------------------------------------------ Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html