Re: [delphi-br] Ordenar clicando no título do dbgri d
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
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
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
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