ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Coluna do DBGrid organizar por ordem alfabética

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
brunokchimbo
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 15 de Novembro de 2010
Mensagens: 171

MensagemEnviada: Seg Dez 27, 2010 11:55 am    Assunto: Coluna do DBGrid organizar por ordem alfabética Responder com Citação

Fala galera!!! Eu aqui de novo!

Gostaria de saber se alguém sabe me explicar qual é o código que eu uso para o DBGrid da minha aplicação ficar igual aquela função do Windows.
Aquela em que é só clicar no título da coluna que ela organiza em ordem alfabética de cima para baixo ou de baixo para cima!

Valeu galera!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Keron
Experiente
Experiente


Registrado: Terça-Feira, 25 de Outubro de 2005
Mensagens: 463

MensagemEnviada: Seg Dez 27, 2010 12:08 pm    Assunto: Responder com Citação

SELECT nome, endereco FROM clientes ORDER BY nome DESC
SELECT nome, endereco FROM clientes ORDER BY nome ASC

por esses dois comandos dá para você tirar a base de como fazer
_________________
Filho de Deus
em Cristo Jesus
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
renanvaz
Novato
Novato


Registrado: Sexta-Feira, 18 de Junho de 2010
Mensagens: 12

MensagemEnviada: Seg Dez 27, 2010 12:19 pm    Assunto: Responder com Citação

No evento OnTitleClick do dbGrid voce coloca este codigo.
ClientDataSet.IndexFieldNames := Column.FieldName;

Exemplo:
procedure TFormulario.dbGridTitleClick(Column: TColumn);
begin
ClientDataSet.IndexFieldNames := Column.FieldName;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
renanvaz
Novato
Novato


Registrado: Sexta-Feira, 18 de Junho de 2010
Mensagens: 12

MensagemEnviada: Seg Dez 27, 2010 12:43 pm    Assunto: Responder com Citação

Achei este outro codigo que ordena decrescente..
o outro era so crescente..
se executar fora do delphi n da erro..
no delphi é so colocar pa continuar..
o erro é so uma "notificação"

procedure TFormulario.dbGridTitleClick(Column: TColumn);
var
indice: string;
existe: boolean;
begin
ClientDataset:= TClientDataset(Column.Grid.DataSource.DataSet);

if ClientDataset.IndexFieldNames = Column.FieldName then
begin
indice := AnsiUpperCase(Column.FieldName);

try
ClientDataset.IndexDefs.Find(indice);
existe := true;
except
existe := false;
end;

if not existe then
with ClientDataset.IndexDefs.AddIndexDef do begin
Name := indice;
Fields := Column.FieldName;
Options := [ixDescending];
end;
ClientDataset.IndexName := indice;
end
else
ClientDataset.IndexFieldNames := Column.FieldName;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
brunokchimbo
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 15 de Novembro de 2010
Mensagens: 171

MensagemEnviada: Ter Dez 28, 2010 11:15 am    Assunto: Responder com Citação

Não consegui usar esses códigos, talvez porque no meu form não tem DATASET.
Esqueci de informar que estou usando PARADOX.
Aluguém pode me ajudar?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Keron
Experiente
Experiente


Registrado: Terça-Feira, 25 de Outubro de 2005
Mensagens: 463

MensagemEnviada: Ter Dez 28, 2010 11:22 am    Assunto: Responder com Citação

Bom, faz muito tempo que não utilizo paradox mas dá uma estudada nesse tutorial. http://www.cefetrn.br/~gilbert/doc/prog_aula05.pdf acho que ele pode te ajudar

Outras dicas sobre banco de dados podem ser encontradas aqui http://www.tecnobyte.com.br/dica1.html
_________________
Filho de Deus
em Cristo Jesus
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Ter Dez 28, 2010 11:29 am    Assunto: Responder com Citação

brunokchimbo escreveu:
Não consegui usar esses códigos, talvez porque no meu form não tem DATASET.
Esqueci de informar que estou usando PARADOX.
Aluguém pode me ajudar?
Vc deve ter se confundido com o nome do componente. DATASET pode ser tanto seu TTable quanto seu TQuery, substitua o nome pelo componente que vc usa e compile o projeto.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
brunokchimbo
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 15 de Novembro de 2010
Mensagens: 171

MensagemEnviada: Qua Dez 29, 2010 8:12 pm    Assunto: Responder com Citação

Olha, eu tentei isso mas só o primeiro e o segundo campos funcionam. O resto dos campos só provocam uma excessão e nem mudam pra ordem nenhuma.
A excessão diz que não existe FILE NAME INDEX para o campo ativado (CLICADO).

Devo rever as propriedades?
Devo criar outra vez o Form?
Alguém poderia me ajudar?

Valeu!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
brunokchimbo
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 15 de Novembro de 2010
Mensagens: 171

MensagemEnviada: Qua Dez 29, 2010 8:17 pm    Assunto: Responder com Citação

Galera, achei isso aí, ainda não testei, só vou testar amanhã no trabalho. Mas será que é isso mesmo?

http://www.mail-archive.com/delphi-br@yahoogrupos.com.br/msg44253.html
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB