Se vc estiver usando DBX e ClientDataSet, basta colocar esta linha de código no evento OnTitleClick.
(Column.Field.DataSet as TClientDataset).IndexFieldNames := Column.FieldName; Luis Alberto Belo Horizonte - MG ----- Mensagem original ---- De: Juliana Duque <[EMAIL PROTECTED]> Para: delphi-br@yahoogrupos.com.br Enviadas: Domingo, 21 de Janeiro de 2007 21:34:02 Assunto: [delphi-br] Evento OnTitleClick do DBgrid Olá pessoal, Tenho uma dúvida sobre o dbgrid. Preciso ordenar as colunas que trazem no dbgrid. Tenho um botão onde está a consulta trazendo vários campos, funcionando corretamente, alguns campos que trago na consulta tem aliases, outros não. Ex: ('select campo1 as camp, campo 2 from tabela') No dbgrid, no evento OnTitleClick eu utilizo exatamente a mesma consulta para fazer a ordenação de cada título da coluna que for clicada. Acontece que os campos que tem alias não funcionam a ordenação, só funciona a ordenação dos campos que não estou dando um alias para eles. Dá erro de Coluna desconhecida. Tem alguma restrição quanto a isso? Não posso utilizar na consulta para cada campo um alias porque é regra do dbgrid neste evento OnTitleClick? Porque quando a consulta é feita sem nenhum alias ele funciona!! Ou estou fazendo algo errado? procedure TBusca.DBGrid1TitleClick(Column: TColumn); var coluna_campo:string; begin coluna_campo:=column.fieldname; application.processmessages; datamod.SQLx.sql.clear; datamod.SQLx.add('select campo1 as camp, campo2 from tabela); datamod.SQLx.add('order by '+coluna_campo); if not datamod.SQLx.Prepared then datamod.SQLx.Prepare; datamod.SQLx.Open; DBGrid1.Columns[0].Width:=200; DBGrid1.Columns[1].Width:=350; End; Obrigada Juliana __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]