Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

oliveiras

RadioGroup / DBGrid (Condição)

Recommended Posts

Caros

 

Tenho um RadioGroup 'Status' onde nesse RadioGroup aparece os Seguintes Status de uma Pessoa: Ativo, Inativo

 

Na mesma Tela eu tenho um DBGrid onde eu tenho todo mundo que está Cadastrado no sistema.

 

 

Preciso montar uma condição (if) onde se eu clicar no Status Ativo, deve aparecer todos que estão Ativo e se no RadioGroup eu clicar em Inativo, deve mostrar no DBGrid só as pessoas Inativas.

 

 

Como eu poderia montar essa Condição no Delphi?

 

Para carregar o DBGrid utilizo um ADO Query...

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigatoriamente você será forçado a refazer a consulta no seu BD a cada mudança de click no grid... basicamente, você terá que montar sua consulta dinamicamente e de acordo com a opção selecionada filtrar os resultados seguindo esta ordem:

 

-Fechar a query associada ao dbgrid.

-Limpar a query.

-Adicionar a nova query com os filtros desejados

-Abrir a query novemente.

 

No fórum tem muitos exemplos de como montar uma query dinamicamente.... dê uma pesquisada e qualquer coisa poste novamente.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade se ele estiver utilizando o componente ClientDataSet ele pode fazer uma consulta geral e utilizando a propriedade Filter e Filtered filtrar os dados que serão exibidos do DBGrid evitando que seja necessario abrir e fechar a query a cada mudança.

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra esse tipo de filtro num tem outro jeito você tem qeu fazer seleçoes SQL

 

eu trabalho utilizando os elementos da paleta ADO

utlizo o DATASOURCE, ADOCONECTION E ADOQUERY.

 

veja como fica para fazer a selecao qeu deseja:

 

 

procedure TForm1.FormCreate(Sender: TObject);

var

help:string;//variavel que concatenara o campo marcado ela serve como aspas, tentei colocar as aspas mas num da certo, assim eh gabiarra mas funciona

begin

help:='''';

form1.ADOQuery1.Active:=false;//desative a query

form1.ADOQuery1.SQL.Clear; //limpa o codigo SQL existente

form1.ADOQuery1.SQL.Add('select * from cliente WHERE NOME_DO_CAMPO ='+help+radiobutton.caption+help); //ou seja o radio marcado indicará a condicao do filtro

form1.ADOQuery1.Active:=true; // e selecionará de acordo com o que foi marcado, nesta linha ativa-se novamente a query

end;

 

 

 

 

pode fazer que eh tiro e queda sempre uso este tipo de procedimento para filtrar campos de pesquisa ou de seleção

 

valeu ..ate

 

qualquer duvida continua postando..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.