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

 


Responder a