DBGrid com SORT
18/05/2003
0
Como implantar recurso de SORT em uma DBGrid? O que quero é clicar no ´título´da coluna e ele ficar em ordem por ela. Caso clique em outra, passe para lá o ordenamento.....
Savant
Curtir tópico
+ 0
Responder
Posts
19/05/2003
Edmar Zatarin
amigo, achei isso comigo:
COLOCAR O DBRID EM ORDEM DO TITULO CLICADO
1 – No evento ontitleclick, criar uma variavel chamada campo, campo então receberá a coluna clicada, para depois a query fazer o order by pelo campo escolhido.
procedure Tconscli.gradeprocessosTitleClick(Column: TColumn);
var
campo:string;
begin
campo:=column.fieldname; // CAMPO RECEBE O NOME DA COLUNA CLICADA,
application.processmessages; // para considerar algo que aconteça no dbgrid durante a entrada nesta procedure
qrCLIENTES.sql.clear; // LIMPA A QUERY
qrCLIENTES.sql.add(´select * from div1 order by ´+campo); // ESCREVE O SELECT COM O ORDER BY
if not QRCLIENTES.Prepared then
QRCLIENTES.Prepare;
QRCLIENTES.Open; // ABRE A QUERY COM A ORDEM ESCOLHIDA.
End;
column.Font.color:=clblue; // COLOCAR A COLUNA NA COR DESEJADA
OBS: eu nunca testei mas espero que resolva seu problema.
Boa sorte!
COLOCAR O DBRID EM ORDEM DO TITULO CLICADO
1 – No evento ontitleclick, criar uma variavel chamada campo, campo então receberá a coluna clicada, para depois a query fazer o order by pelo campo escolhido.
procedure Tconscli.gradeprocessosTitleClick(Column: TColumn);
var
campo:string;
begin
campo:=column.fieldname; // CAMPO RECEBE O NOME DA COLUNA CLICADA,
application.processmessages; // para considerar algo que aconteça no dbgrid durante a entrada nesta procedure
qrCLIENTES.sql.clear; // LIMPA A QUERY
qrCLIENTES.sql.add(´select * from div1 order by ´+campo); // ESCREVE O SELECT COM O ORDER BY
if not QRCLIENTES.Prepared then
QRCLIENTES.Prepare;
QRCLIENTES.Open; // ABRE A QUERY COM A ORDEM ESCOLHIDA.
End;
column.Font.color:=clblue; // COLOCAR A COLUNA NA COR DESEJADA
OBS: eu nunca testei mas espero que resolva seu problema.
Boa sorte!
Responder
Clique aqui para fazer login e interagir na Comunidade :)