Ir para conteúdo

POWERED BY:

Arquivado

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

calcio

Popular combo

Recommended Posts

Boa tarde a todos...Tenho em um DM uma consulta que me traz todos os distribuidores e seus respectivos códigos, preciso popular uma combobox com esses valores, sendo que o código precisa ser o valor a ser enviado e o nome o valor a ser mostrado.Preciso disso para montar um relatório de acordo com o código do distribuidor que foi selecionado!E mais uma coisa, como passar esse valor selecionado para a qry que roda o relatório?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use um TDBLookupComboBox, ligue as propriedades ListaSource ao seu dts, ListField e KeyField com os campos...Depois quando selecionar um item, automaticamente a sua tabela fica parada no mesmo registro selecionado, podendo acessar a tabela para pegar o código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

marcio, fiz o seguinte, criei um DS e liguei ao meu DM, na TDBLookupComboBox liguei o DataSource e o LinkSours em meu DS, e apontei ListField e KeyField para seus respectivos campos, porém quando rodo a Combo fica inativa e nem aparece nada dentro dela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde Calcio...Bom, normalmente a DBLookup fica dessa forma quando os requisitos não são preenchidos de forma correta ou então o ListSource não esteja ativo...Verifique as Propriedades: - ListSource- List Field- Key Fielde se a query ou table está ativa no momento...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera consegui fazer aki com a ajuda do meu pai..O babaca aki esqueceu de usar o ds.Close e ds.open+ uma coisa preciso que ao clicar num botão eu limpe oq foi selecionado na combo ou fazer a adição de um item vazio. tem como foçcar isso num campo DBLockupCombo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Registro em branco... um... só se você inserir um na tabela... tipo, preencher o código e deixar o nome em branco no caso de um cadastro de clientes onde você lista os nomes...

 

quanto a desmarcar, faço da seguinte maneira com o DBLookupCombobox do Delphi...

 

 

Bom, veja se entende...

 

//Label que apaga a caixa...procedure TFrmLstVagas.Label6Click(Sender: TObject);begin  inherited;  //Da um active false na tabela que está no ListSource...  TblCliente.Active := False;end;

//Quando clicar na dblookupcombobox...procedure TFrmLstVagas.EdtClienteMouseDown(Sender: TObject;  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin  inherited;  //Se não estiver ativa a tabela...  If Not TblCliente.Active then  Begin	//ativa a tabela que é do listsource...	TblCliente.Active := True;  End;end;

 

Ai quando monto a query faço dessa forma...

QryLstVagas.Close;  QryLstVagas.Sql.clear;  QryLstVagas.Sql.Add('SELECT Movvagas.Codigo, Cadcliente.Nome_cli, Movvagas.Placa, Movvagas.HoraEntrada, Movvagas.HoraSaida, Movvagas.Data, Movvagas.VlrCalc_MovVaga, Movvagas.VlrPago_MovVaga, Movvagas.TipoMov');  QryLstVagas.Sql.Add('FROM "CadCliente.DB" Cadcliente');  QryLstVagas.Sql.Add('INNER JOIN "MovVagas.DB" Movvagas');  QryLstVagas.Sql.Add('ON  (Cadcliente.Cod_cli = Movvagas.Cod_cli)');  QryLstVagas.SQL.Add('Where Movvagas.Data Between :ParDaData And :ParAData');  QryLstVagas.ParamByName('ParDaData').AsDate := EdtdaData.Date;  QryLstVagas.ParamByName('ParAData').AsDate := EdtaData.Date;  If EdtCliente.Text <> '' then  Begin	 QryLstVagas.SQL.Add('And CadCliente.Cod_Cli = '+TblClienteCod_cli.AsString);  End;

 

Quanta coisa pra nada né?

 

Então, tive que fazer toda essa volta pq não podia usar componentes de 3ºs... mas com o infopower... eheheheh!!! amo esse componente...

 

da pra fazer só assim ó:

 

//Label que apaga a caixa...procedure TFrmLstVagas.Label6Click(Sender: TObject);begin  inherited;  //Da um active false na tabela que está no ListSource...  EdtCliente.Text := '';end;

 

Flw ae! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.