Fórum RxMemory #335348

28/12/2006

0

Olá...
Alguém sabe como ordenar os registros em uma tabela temporária??
Por exemplo tenho os seguintes campos:
cFabric
Fantasia
cConstrucao
cRefer
dRefer
dModelista
dtCorte
dtReuniaoTecnica
ParTecIni

quero ordenar na sequência: cFabric, Fantasia, cConstrucao


Daia

Daia

Responder

Posts

28/12/2006

Steve_narancic

RxMemory.SortOnFields(´CAMPO´,True,False);



Responder

Gostei + 0

28/12/2006

Daia

Obrigada...
Mas como faço para ordenar mais de uma campo... por exemplo:
FPrincipal.temp.SortOnFields(´dRefer´,´Fantasia´,´dFabric´,False,True);
Tem como?


Responder

Gostei + 0

28/12/2006

Steve_narancic

tenta
 FPrincipal.temp.SortOnFields(´dRefer,Fantasia,dFabric´,False,True);

ou
FPrincipal.temp.SortOnFields(´dRefer;Fantasia;dFabric´,False,True);


Responder

Gostei + 0

28/12/2006

Daia

até aceitou o código do jeito q vc colocou, mas não está organizando...
Coloquei o código no BeforePrint da banda...


Responder

Gostei + 0

29/12/2006

Daia

alguém?


Responder

Gostei + 0

29/12/2006

Daia

na verdade ele está ordenando na ordem decresente... e gostaria que fosse ascendente... alguém pode me ajudar?


Responder

Gostei + 0

29/12/2006

Ronaldo Pimenta

Olha eu estou meio que sem tempo para te explicar mas dá uma
olhada pra ver se vc tira algum proveito


procedure TF_ListPADRAO.ClassificaoCrescente1Click(Sender: TObject);
begin
dmOrdem:= True;
OrdenarDbGrid;
end;

procedure TF_ListPADRAO.Classificacaodecrescente1Click(Sender: TObject);
begin
dmOrdem:= False;
OrdenarDbGrid;
end;

procedure TF_ListPADRAO.OrdenarDbGrid;
begin
// Coluna é uma váriavel string que recebe o campo que vai ser ordenado
if Coluna = ´´ then Exit;

// Caso já exista um indice para este campo então ele deleta
if (Indice <> ´´)and(Indice = Query.IndexName) then Query.DeleteIndex(Indice);

case dmOrdem of // ordem é uma private boolean
False: Query.AddIndex(Coluna, Coluna, [ixDescending],´´,´´,0); // ordena desc
True: Query.AddIndex(Coluna, Coluna, [],´´,´´,0); // ordena asc
end;

Query.IndexName:= Coluna;
Query.First;
Indice:= Coluna; // indice é uma ´private string´ que guarda o indice criado
end;


Té +


Responder

Gostei + 0

29/12/2006

Daia

tentei, mas não funcionou...
meu código está assim, e está funcionando, só que está ordenando decrescente e eu queria diferente...
Eu imagino que falta algum parâmetro no código, mas não estou conseguindo encaixar...
FPrincipal.temp.SortOnFields(´Fantasia;dFabric;cConstrucao;dRefer´, False, True);


Responder

Gostei + 0

29/12/2006

Ronaldo Pimenta

Olha, o componente RxMemory não responde a todos os metodos de um dataset como é o caso do comando Filter que não funciona, não tenho tempo agora pra testar este teu comando, sem mais. Tchau!


Responder

Gostei + 0

29/12/2006

Daia

ok.. tudo bem... vou continuar pesquisando..deve haver alguma forma de fazer isso...


Responder

Gostei + 0

30/12/2006

Aroldo Zanela

Colega,

Não seria o caso de utilizar um ClientDataSet?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar