Esta alternativa causa um grande impecilho no que tange tráfego de dados em 
uma rede. Toda vez que o usuário der um clique em um título de uma coluna 
que queira ordenar, ele irá trafegar uma SQL pra retornar dados, o que irá 
causar o primeiro transforno: tráfego de dados desnecessário na rede. O 
segundo transtorno seria o tempo de resposta para receber estes dados via 
rede. Imagine 50 usuários fazendo acesso concorrente ao seu banco de dados, 
e o SQL desse grid necessitar de dados que estão em concorrência no instante 
em que se submete a instrução SQL para receber os dados. Resultado: lerdeza 
no uso da aplicação e intenso tráfego de rede, que pode ocasionar outros 
problemas a nível de disponibilidade de banda da rede.

O mais coerente é usar ClientDataSet. Associe o dataset que vc está querendo 
visualizar no grid a um TDataSetProvider, e este a um TClientDataSet. Com o 
ClientDataSet, vc pode ordenar os dados já carregados na própria estação 
cliente, sem a necessidade de se reenviar a consulta para refazer uma ordem 
que se deseje visualizar.

Informe-se a respeito disto. Neste e em outras listas de discussão sobre 
Delphi, este tema está mais do que tarimbado, abordado e discutido, e a 
solução é essa: ClientDataSet.

Sds.

>From: "Hudson" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: <[EMAIL PROTECTED]>
>Subject: Re: [delphi-br] Ordenação no Grid
>Date: Thu, 12 Apr 2007 23:51:02 -0300
>
>Ola amigo,
>
>Pra fazer isso e simples....
>
>Vai ate o evento OnTitleClick do DBGrid e faça o codigo:
>exemplo:
>
>   banco.produto.Close;
>   banco.produto.SQL.Clear;
>   banco.produto.SQL.Add('select * from tabela order by ' + 
>Column.FieldName);
>   banco.produto.Open;
>
>aonde Column.FieldName representa o campo clicado...
>
>espero ter ajudado!
>
>   ----- Original Message -----
>   From: magnun_oliveira
>   To: [EMAIL PROTECTED]
>   Sent: Thursday, April 12, 2007 4:44 PM
>   Subject: [delphi-br] Ordenação no Grid
>
>
>   Olá fiz um master detail e coloquei os campos da tabela master em
>   DBEdit's e o detail em um grid. Porem nessa tabela de Detail's eu
>   tenho um campo lookpu q uso pra exibir um tipo.
>
>   Preciso ordenar o DBGrid por este campo, alguem sabe como fazer isso,
>   sei q IndexFieldNames nao da pra usar com lookup ...
>
>   Obrigado.
>
>
>
>
>
>[As partes desta mensagem que não continham texto foram removidas]
>

_________________________________________________________________
MSN Messenger: converse com os seus amigos online. 
http://messenger.msn.com.br

Responder a