DBGrid Igual -gt; Visual Fox Pro
Salve pessoal!!!!
Estou precisando de um help ... Outro dia estava eu dando uma olhada em um progrma feito em Visual Fox Pro e vi uma coisa que achei super interessante. O programa tinha um DBGrid que quando dava um clik no titulo do DBGrid os dados se organizavam na ordem onde era clicado. Exemplo: O DBGrid tinha varios campos entre eles [ Codigo - Nome - Cidade - Estado ] Quando clicava no titulo nome os dados no DBGrid eram organizados por orde alfabetica e por ai via .....
Será que alguem sabe onde posso encontrar um componente que faça isso no delphi 6 .. porque o DBGrid do delphi nao tem a opção de clik no titulo ....
Espero que alguem possa me ajudar.
Marcelo MS
Estou precisando de um help ... Outro dia estava eu dando uma olhada em um progrma feito em Visual Fox Pro e vi uma coisa que achei super interessante. O programa tinha um DBGrid que quando dava um clik no titulo do DBGrid os dados se organizavam na ordem onde era clicado. Exemplo: O DBGrid tinha varios campos entre eles [ Codigo - Nome - Cidade - Estado ] Quando clicava no titulo nome os dados no DBGrid eram organizados por orde alfabetica e por ai via .....
Será que alguem sabe onde posso encontrar um componente que faça isso no delphi 6 .. porque o DBGrid do delphi nao tem a opção de clik no titulo ....
Espero que alguem possa me ajudar.
Marcelo MS
Marcelo Bh
Curtidas 0
Respostas
Oberdan
18/07/2003
Existe uma maneira, via código:
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
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
GOSTEI 0
Pro2
18/07/2003
[color=blue:3f34d57f13][size=18:3f34d57f13]Meu tem como sim fazer isto veja como muito mais simples que vc [/size:3f34d57f13][/color:3f34d57f13]peça
da um click no dbgrid, vai no evento onTitleClick e coloca o seguinte codigo NomedaTabela.IndexFieldNames:= Column.FieldName;
procedure TfrmFornecedor.DBGrid1TitleClick(Column: TColumn);
begin
tblForn.IndexFieldNames:= Column.FieldName;
end;
:roll: Paulo Roberto :lol:
Analista de Sistemas
Programador Delphi
:arrow: e-mail pro@aluno.alfa.br
da um click no dbgrid, vai no evento onTitleClick e coloca o seguinte codigo NomedaTabela.IndexFieldNames:= Column.FieldName;
procedure TfrmFornecedor.DBGrid1TitleClick(Column: TColumn);
begin
tblForn.IndexFieldNames:= Column.FieldName;
end;
:roll: Paulo Roberto :lol:
Analista de Sistemas
Programador Delphi
:arrow: e-mail pro@aluno.alfa.br
GOSTEI 0
Pauldiano66
18/07/2003
amigo esse componente existe se chama dvexpress tem um grid que vc pode fazer esse tipo de coisa filtrar ordernar entre outras coisa tenho esse compoente mas tem apenas para o delpfi 5 e 6 ok se quiser mando via email pauldiano@ig.com.br alem desse componente tem varios muito bom eles custam 600 dolares peguei a onde eu trabalhava numa consultoria
GOSTEI 0