Ordenar DBGrid
Fala galera, esse eh meu primeiro post de muitos outros.... hehe... ainda sou novato no Delphi, mas assim q tiver condições espero poder contribuir muito c/ o Forum. Bom, vamos a minha duvida:
Tenho um form q tem 1 DBGrib e um RadioGroup c/ 4 itens, e cada um desse 4 itens são formas de ordenar os dados dentro do dbgrid (em tempo de execução), gostaria de saber qual o procedimento de quando o cara clicar no radio, o dbgrid dar tipo um refresh e ordenar pelo tipo do radio (ordenar por data, produto, preço e etc..)
[]s DB! :twisted:
Tenho um form q tem 1 DBGrib e um RadioGroup c/ 4 itens, e cada um desse 4 itens são formas de ordenar os dados dentro do dbgrid (em tempo de execução), gostaria de saber qual o procedimento de quando o cara clicar no radio, o dbgrid dar tipo um refresh e ordenar pelo tipo do radio (ordenar por data, produto, preço e etc..)
[]s DB! :twisted:
Mascarade
Curtidas 0
Respostas
Otto
09/06/2004
ja que vc ta usando um radiogroup eu faria assim:
No OnClick no radiogroup vc faz:
no radio gorup, os itens tem que esta assim:
Nome, Endereco, Cidade e telefone. olhando ai vc vai ter a ideia.... :wink:
No OnClick no radiogroup vc faz:
With query1 do Begin if active then close; case radiogroup.itemindex of 0: SQL.Text := ´Select * from tabela order by nome´; 1: SQL.Text := ´Select * from tabela order by endereco´; 2: SQL.Text := ´Select * from tabela order by cidade´; 3: SQL.Text := ´Select * from tabela order by telefone´; End;//Case Open; // Abrir query End; // with
no radio gorup, os itens tem que esta assim:
Nome, Endereco, Cidade e telefone. olhando ai vc vai ter a ideia.... :wink:
GOSTEI 0
Mascarade
09/06/2004
Valeu cara, mas na hora q eu clico no radio ele nao atualiza automaticamente....
[]s DB! :twisted:
[]s DB! :twisted:
GOSTEI 0
Otto
09/06/2004
blz, então me faz o seguinte, cola aqui o codigo, os itens que vc tem no radiogroup e os campos que vc tem na tabela... :wink:
GOSTEI 0
Mascarade
09/06/2004
campos da tabela: Data, Produto, Status
campos do RadioGroup: Data, Produto, Pago, Não Pago
sendo q o pago e não pago deveria ser uma consulta c/ ASC e DESC consecutivamente.
[]s DB! :twisted:
campos do RadioGroup: Data, Produto, Pago, Não Pago
sendo q o pago e não pago deveria ser uma consulta c/ ASC e DESC consecutivamente.
[]s DB! :twisted:
GOSTEI 0
Otto
09/06/2004
ok, faça o seguinte teste:
verifique se a query ta ligada no componente de conexão com o banco, e se o dbgrid ta ligado ao datasource e o datasource ligado a query.
so coloquei pra organizar por Data, produto e status...
testa e ver no que que dar... :wink:
With query1 do Begin if active then close; case radiogroup.itemindex of 0: SQL.Text := ´Select * from NomeDaTabela order by data´; 1: SQL.Text := ´Select * from NomeDaTabela order by produto´; 2: SQL.Text := ´Select * from NomeDaTabela order by status´; End;//Case Open; // Abrir query End; // with
verifique se a query ta ligada no componente de conexão com o banco, e se o dbgrid ta ligado ao datasource e o datasource ligado a query.
so coloquei pra organizar por Data, produto e status...
testa e ver no que que dar... :wink:
GOSTEI 0
Mascarade
09/06/2004
Entao cara, eu jah tinha feito dessa meneira qdo vc colocou ai... mas qdo eu clico na opcao, ele nao ordena na hora, ele fica stático, como ele abriu.... :oops:
[]s DB! :twisted:
[]s DB! :twisted:
GOSTEI 0
Otto
09/06/2004
Olha, aqui em casa eu fiz assim, no ontitleclick do dbgrid:
funciona tudo Ok.... bom, pelo menos valeu a intenção... :wink:
procedure TfmConUsuario.DBGrid1TitleClick(Column: TColumn); begin Screen.Cursor := crHourGlass; if zq1.Active then zq1.Active := false; Case Column.Index of 0 : zq1.SQL.Text := ´Select * from tbUsuarios Order by Nome´; 1 : zq1.SQL.Text := ´Select * from tbUsuarios Order by Login´; Else MessageBox(0,´Não é permitido organizar por Este campo !´,´ORGANIZAÇÃO´, MB_OK+MB_ICONERROR); end; //case zq1.Open; Screen.Cursor := crDefault; end;
funciona tudo Ok.... bom, pelo menos valeu a intenção... :wink:
GOSTEI 0