Fórum ClientDataSet Erro ao Ordenar(IndexFieldNames) - URGENTE #365383
23/10/2008
0
Estou com um problema meio bizarro.
Tenho uma tabela e quando ordeno pelo nmObjeto essa tabela pelo select fica perfeito. exemplo:
01257-X.SQL
01257A-X.SQL
01257B-X.SQL
01257C-X.SQL
01257D-X.SQL
01257E-X.SQL
01257V1-X.SQL
01257V2-X.SQL
NOTA-SE: Que esta ordenado corretamente.
Logo quando essa informação esta em um ClientDataSet
e Coloco IndexFieldNames : nmObjeto
a ordenação fica assim.......(errado))
01257A-X.SQL
01257B-X.SQL
01257C-X.SQL
01257D-X.SQL
01257E-X.SQL
01257V1-X.SQL
01257V2-X.SQL
01257-X.SQL
NOTA-SE: Que agora o primeiro registro fica por ultimo, ele esta considerando o caracter ´-´ como se fosse depois das letras do alfabeto.
Mas na Tabela ASC ele vem antes. Não sei como ordenar esse cara ali no ClientDataset.
Não posso dar orderBy no select pois essa ordenação é trocada conforme opção na tela.
Essa informação não é mostrado em uma grid, ela é exportado para um TXT.
Será que alguém tem alguma idéia.
Alguém pode ajudar????
Obrigado.
Davefloripa
Curtir tópico
+ 0Posts
24/10/2008
Davefloripa
Gostei + 0
24/10/2008
Jc
-------\/
01257A-X.SQL
01257B-X.SQL
o que vc pode fazer é colocar em ordem descendente quando jogar no ClientDataSet ou chamar o IndexFieldnames
Gostei + 0
24/10/2008
Davefloripa
eu preciso que fique assim(que ordene assim))
01257-X.SQL
01257A-X.SQL
01257B-X.SQL
Eu não sei quando vai ocorrer essa situaçã, mas as vezes ocorre, e quando ela ocorre gostaria que ordenasse da forma correta.
Gostei + 0
24/10/2008
Emerson Nascimento
Gostei + 0
24/10/2008
Emerson Nascimento
provavelmente, por se tratar de strings, o caractere ´-´ que você vê, deve ser o de código ASCII 150, ou algum outro...
Gostei + 0
29/10/2008
Davefloripa
Mas preciso achar uma solução ...
de ordenar pelo caracter ASCII45,
Acho que criar uma outra coluna e aonde tiver ´-´ substituir por outro caracter que seja antes na tabela ASCII e ordenar por essa nova coluna.
Obrigado!!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)