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