Re: [delphi-br] Ordenar clicando no título do dbgri d

2010-08-22 Por tôpico Marciano Venter
Gostei da dica do Fabricio, modifiquei o codigo dele pra mim usar com um
Ztable do ZeosDBO, funcionou perfeitamente,

Segue o codigo.

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
  enum_IndexOption: TIndexOptions;
  str_IndexAsc,
str_IndexDesc,
str_IndexName: string;
begin
  if (Column.Field.FieldKind = fkData) then
  begin
str_IndexAsc := Concat(Column.FieldName, ' Asc');
str_IndexDesc := Concat(Column.FieldName, ' Desc');

str_IndexName := '';
enum_IndexOption := [];

if (DMPrincipal.ZTable1.IndexFieldNames = str_IndexAsc) then
begin
  str_IndexName := str_IndexDesc;
  enum_IndexOption := [ixDescending];
end
else if (DMPrincipal.ZTable1.IndexFieldNames = str_IndexDesc) then
begin
  str_IndexName := str_IndexAsc;
end
else
begin
  str_IndexName := str_IndexAsc;
end;
DMPrincipal.ZTable1.IndexFieldNames := str_IndexName;
  end;
end;

--
[image:
?ui=2view=attth=12492f314f4aed7aattid=0.1disp=attdrealattid=ii_12492f314f4aed7azw]
 Marciano Venter
Email: venter.marci...@gmail.com
Celular: (51) 9672 6093
venter.marci...@gmail.com
marcianoven...@hotmail.com
[image: Twitter] http://www.twitter.com/ventermarciano@ventermarciano
[image: 
Facebook]http://www.facebook.com/profile.php?id=10304177338ref=profile
Marciano
Venter
**


Em 20 de agosto de 2010 16:51, Alan ricardo Souza
alanr.so...@yahoo.com.brescreveu:



 No evento TitleClick Coloque:

   SeuClientDataSet.IndexFieldnames := Column.FieldName;
   SeuClientDataSet.Refresh;

 Veja se da certo qlq post de novo.

 Abraços


 --- Em sex, 20/8/10, Nazareno Neto 
 nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 escreveu:

 De: Nazareno Neto nazareno.nobr...@gmail.comnazareno.nobrega%40gmail.com
 
 Assunto: Re: [delphi-br] Ordenar clicando no título do dbgrid
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Data: Sexta-feira, 20 de Agosto de 2010, 19:34


   qyConsulta.Close;
   qyConsulta.SQL[3]:=' Order By '+TABELA+Column.FieldName;
   qyConsulta.Open;

 Em 20 de agosto de 2010 16:17, Allan GabrielAM 
 alla...@americamoveiseletro.com.br allanrv%40americamoveiseletro.com.br
 escreveu:

 
 
  Olá, procurei no histório da lista e não encontrei, preciso fazer que o
  sistema entenda que ao clicar no título da coluna de um dbgrid ele ordene
  por ela, alguém poderia me dar uma ajuda?, uso Delphi7 + FireBird 2.03 +
  IBX.
 
  Atenciosamente,
  Rafael
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 --
 Nazareno Neto
 Desenvolvedor Delphi e Firebird

 Skype: nazareno.nobrega
 http://www.delphisistemas.com.br
 nazarenon...@delphisistemas.com.br nazarenoneto%40delphisistemas.com.br
 nazareno.nobr...@gmail.com nazareno.nobrega%40gmail.com

 [As partes desta mensagem que não continham texto foram removidas]

 

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 [As partes desta mensagem que não continham texto foram removidas]

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] Ordenar clicando no título do dbgri d

2010-08-20 Por tôpico Nazareno Neto
  qyConsulta.Close;
  qyConsulta.SQL[3]:=' Order By '+TABELA+Column.FieldName;
  qyConsulta.Open;

Em 20 de agosto de 2010 16:17, Allan GabrielAM 
alla...@americamoveiseletro.com.br escreveu:



 Olá, procurei no histório da lista e não encontrei, preciso fazer que o
 sistema entenda que ao clicar no título da coluna de um dbgrid ele ordene
 por ela, alguém poderia me dar uma ajuda?, uso Delphi7 + FireBird 2.03 +
 IBX.

 Atenciosamente,
 Rafael

 [As partes desta mensagem que não continham texto foram removidas]

  




-- 
Nazareno Neto
Desenvolvedor Delphi e Firebird

Skype: nazareno.nobrega
http://www.delphisistemas.com.br
nazarenon...@delphisistemas.com.br
nazareno.nobr...@gmail.com


[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] Ordenar clicando no título do dbgri d

2010-08-20 Por tôpico Fabricio Colombo
Eu utilizo o código abaixo. Desse modo ele ordena de forma crescente e
decrescente. E com o Rubem falou, tem que usar o ClientDataSet.

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
  enum_IndexOption: TIndexOptions;
  str_IndexAsc,
  str_IndexDesc,
  str_IndexName: String;
begin
  if (Column.Field.FieldKind = fkData) then
  begin
str_IndexAsc := Concat('asc_',Column.FieldName);
str_IndexDesc := Concat('desc_',Column.FieldName);

str_IndexName := '';
enum_IndexOption := [];

if (ClientDataSet1.IndexName = str_IndexAsc) then
begin
  str_IndexName := str_IndexDesc;
  enum_IndexOption := [ixDescending];
end
else if (ClientDataSet1.IndexName = str_IndexDesc) then
begin
  str_IndexName := str_IndexAsc;
end
else
begin
  str_IndexName := str_IndexAsc;
end;

ClientDataSet1.IndexDefs.Clear;

ClientDataSet1.IndexDefs.Add(str_IndexName,Column.FieldName,enum_IndexOption);
ClientDataSet1.IndexName := str_IndexName;
  end;
end;


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Ordenar clicando no título do dbgri d

2010-08-20 Por tôpico Fabricio Colombo
As opções IndexDefs e IndexFieldNames pertencem a classe
TCustomClientDataSet, portanto, só podem ser usadas por TClientDataSet.

Joga um provider + CDS ligado na sua query e pronto, vc pode utilizar a
ordenação. :D

Em 20 de agosto de 2010 19:19, Allan GabrielAM 
alla...@americamoveiseletro.com.br escreveu:



 Olá, no caso estou usando Ibquery + DataSource + IbqUpdateDataSet, funciona
 mesmo assim? não testei pois estou sem o delphi nesse final de semana pois
 estou viajando.
 Grato
 Rafael.



 - Original Message -
 From: Fabricio Colombo
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Friday, August 20, 2010 5:59 PM
 Subject: Re: [delphi-br] Ordenar clicando no título do dbgrid

 Eu utilizo o código abaixo. Desse modo ele ordena de forma crescente e
 decrescente. E com o Rubem falou, tem que usar o ClientDataSet.

 procedure TForm1.DBGrid1TitleClick(Column: TColumn);
 var
 enum_IndexOption: TIndexOptions;
 str_IndexAsc,
 str_IndexDesc,
 str_IndexName: String;
 begin
 if (Column.Field.FieldKind = fkData) then
 begin
 str_IndexAsc := Concat('asc_',Column.FieldName);
 str_IndexDesc := Concat('desc_',Column.FieldName);

 str_IndexName := '';
 enum_IndexOption := [];

 if (ClientDataSet1.IndexName = str_IndexAsc) then
 begin
 str_IndexName := str_IndexDesc;
 enum_IndexOption := [ixDescending];
 end
 else if (ClientDataSet1.IndexName = str_IndexDesc) then
 begin
 str_IndexName := str_IndexAsc;
 end
 else
 begin
 str_IndexName := str_IndexAsc;
 end;

 ClientDataSet1.IndexDefs.Clear;


 ClientDataSet1.IndexDefs.Add(str_IndexName,Column.FieldName,enum_IndexOption);
 ClientDataSet1.IndexName := str_IndexName;
 end;
 end;

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]

  



[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:
delphi-br-ow...@yahoogrupos.com.br
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:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html