Fórum Filtrando dados de um DBGrid atraves de um DBLookUpComboBox #558526

22/06/2016

0

Eu tenho o seguinte cenário um DBGrid trazendo os seguintes campos da tabela PRODUTO , ID , REFERENCIA ,NCM, DESCRICAO, PRECO_VENDA,ULTIMO_CUSTO e CFOP. cada produto tem um GRUPO, chave estrangeira da tabela GRUPO,eu já consigo colocar no DBLookUpComboBox todos os grupos da tabela GRUPO a minha ideia é filtra no Dbgrid os produtos que estão no GRUPO selecionado no DBLookUpComboBox exemplo NO DBLookUpComboBox Esta selecionado o GRUPO "SABONETE" NO DBGrid , eu quero que apareça só os sabonetes
Wallace Ferreira

Wallace Ferreira

Responder

Post mais votado

23/06/2016

Wallace, bom dia.
Não tenho experiência com o componente em questão. Mas olhando aqui na internet observei que o ''''DBLookUpComboBox'''' tem a propriedade ''''keyField'''' que é a
referência de qual é o campo chave a ser utilizado em outra tabela. No seu caso o campo ''''GRUPO''''.

Bom, com isso em mãos basta fazer o seguinte;
- No envento on clique no ''''DBLookUpComboBox'''' vc monta a seguinte rotina:

Iª forma: // Aqui vai abrir a consulta toda hora
Query1.Close; // query que contem os produtos
Query1.Sql.Clear;
Query1.Sql.Add( ''''SELECT * FROM produtos WHERE grupo = :grupo'''');
Query1.Parameters.ParamByName(''''grupo'''').Value:= DBLookupCombobox.KeyValue;
Query1.active:= TRUE;


2ª forma: // Aqui é qdo vc já deixa a tabela de produtos aberta.
Query1.Filtered := false;
Query1.Filter := ''''Grupo = '''' + DBLookupCombobox.KeyValue;
Query1.Filtered := true;


Kra eu acho que é soh isso. Confesso que não testei. Mas fica ae a dica.

Abc.

Marco Antônio

Marco Antônio
Responder

Gostei + 1

Mais Posts

04/07/2016

Roberto Wutke

Cara, voce pode fazer usando um combobox simples, alimenta ele com os grupos na ordem certinha com código e descrição, tipo '0001 - Sabonete' ou '0054 - shampoo'
e quando o usuário clicar vc faz o filter na query com o Copy da Pos 1 , 4 bytes, e já vai filtrando toda vez que ele clicar, ai voce pode até colocar o itemindex zero como 'Todos' caso ele queira "desfiltrar" os grupos.

Bons códigos.
Responder

Gostei + 1

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

Aceitar