GARANTIR DESCONTO

Fórum Como mostrar vários fields, num campo lookup num grid? #275060

01/04/2005

0

Colegas..

Preciso mostrar no lookup de um field tipo lookup várias informações sobre o item a ser escolhido, como faço isso..

exemplo..

Para selecionar um material a ser inserido, preciso tb saber o modelo, a marca e a série do mesmo, mas estou num grid e só visualizo 1 campo, que seria a descrição..

já tentei

C_DESC_INSUMO;C_MODELO_INSUMO;C_MARCA_INSUMO;C_SERIE_INSUMO

e não deu certo.


Cabelo

Cabelo

Responder

Posts

01/04/2005

Ehvasc

Caro colega,


Uma solução é no evento OnGetText do field (no caso DESCRICAO), vc implementa o código abaixo
   Text := 
              Query.FieldByNAme(´C_DESC_INSUMO´).AsString+
              Query.FieldByNAme(´C_MODELO_INSUMO´).AsString+
              Query.FieldByNAme(´C_MARCA_INSUMO´).AsString+
              Query.FieldByNAme(´C_SERIE_INSUMO´).AsString;


isso funcionará, o campo DESCRICAO não precisa ser lookup


Espero ter ajudado, boa sorte e até a próxima


Responder

Gostei + 0

01/04/2005

Guilherme

é so vc ir no fields editor (dois cliques no table1) ,clique com o botao direito e o escolher a opçao NEW FIELD , ai vc escolhe o nome pra seu campo ....escolha a opçao lookup e configure ......

de um clique duplo no grid e escolha o campo q ira mostar o campo criado e altere a opçao FIELD NAME . Pronto !!!!


espero ter ajudado !!!!!!!


Depois posta ai se deu certo e como vc fez !!!!


Ate +


Responder

Gostei + 0

01/04/2005

Cabelo

Caro colega, Uma solução é no evento OnGetText do field (no caso DESCRICAO), vc implementa o código abaixo
   Text := 
              Query.FieldByNAme(´C_DESC_INSUMO´).AsString+
              Query.FieldByNAme(´C_MODELO_INSUMO´).AsString+
              Query.FieldByNAme(´C_MARCA_INSUMO´).AsString+
              Query.FieldByNAme(´C_SERIE_INSUMO´).AsString;
isso funcionará, o campo DESCRICAO não precisa ser lookup Colega.. Isso irá fazer mostrar todos os campos juntos no grid, e não ´pe o que eu quero, eu quero que o combo do field lookup, funcione como em um dblookupcombobox comum, quero que ele mostre vários campos, mas depois de selecionado, só fica aparecendo a descrição. Espero ter ajudado, boa sorte e até a próxima



Responder

Gostei + 0

04/04/2005

Cabelo

Colega..

Isso irá fazer mostrar todos os campos juntos no grid, e não ´pe o que eu quero, eu quero que o combo do field lookup, funcione como em um dblookupcombobox comum, quero que ele mostre vários campos, mas depois de selecionado, só fica aparecendo a descrição.


Responder

Gostei + 0

04/04/2005

Flaviosan

Caro Cabelo,
que eu saiba só é possivel fazer essa concatenação de campos que vc quer em um dblookupcombobox, na propriedade listfield, separando o nome dos campos por ponto e virgula e setando a propriedade listfieldindex para o indice do campo que vc quer que seja mostrado quando já estiver selecionado.
Espero ter ajudado.


Responder

Gostei + 0

04/04/2005

Cabelo

Mas se isso acontece, só acontece com o Delphi 7, pois fazia sso com o delphi 5.

Você sabe se consigo adicionar um objeto a um DBGrid?

lembro que no Delphi 5, eu conseguia fazr isso. Se conseguisse teria meu problema solucionado.


Responder

Gostei + 0

04/04/2005

Silviogs

Olá

se vc estiver usando o rxlib( RxDBLookupCombo) mude a propriedade Fieldelimiter para ; (ponto e vírgula). E a propriedade DisplayAllFields para true. Caso estiver usando o DbLookupComboBox padrão basta apenas na propriedade Listfield coloque codigo;descproduto;precounit

Atencisomente,

Silvio Guedes


Responder

Gostei + 0

04/04/2005

Cabelo

Olá se vc estiver usando o rxlib( RxDBLookupCombo) mude a propriedade Fieldelimiter para ; (ponto e vírgula). E a propriedade DisplayAllFields para true. Caso estiver usando o DbLookupComboBox padrão basta apenas na propriedade Listfield coloque codigo;descproduto;precounit Atencisomente, Silvio Guedes


Colega..

Na verdade, isso eu sei fazer, e não é esse meu problema, o que preciso pode ter duas opções :

1ª - Mostrar no campo LookUp de um dataset, quando associar no grid, vários campos, mas sendo somente um o resultado;

2ª - Adiconar um componente ao DBGrid, que poderia ser um DBLookUpComboBox, com a propriedade listfield com os campos que eu desejo, sendo que o keyfield seria usado com o result.

Mas o problema é que não estou consegundo achar nenhuma solução, sendo quelquer uma das opções.

OBs: No Delphi 5 é possível fazer isso, mas os comando para o Delphi 7 não funcionam.

Gostaria de saber como fazer.


Responder

Gostei + 0

04/04/2005

Cabelo

Sobe..


Responder

Gostei + 0

04/04/2005

Guilherme

cara vc q fazer um campo um campo lookup nun grid buscando hen um data set nao é ???????


Responder

Gostei + 0

04/04/2005

Cabelo

É exatamente isso, terei um campo lookup num data set e este estará ligado a um DBGrid.

Até aí blz, funciona legal, quando eu trago somente um campo no lookup. O q eu quero é :

Quando clicar no combo do campo lookup no grid, eu visualizar outros campos desta tabela lookup no grid, e quando selecionar o item que desejo, ele simplesmente, mostra um dos campos, assim como funciona o DBLookupComboBox, na propriedade listfield, posso adicionar vários campos separados por virgula, mas quando fecho o combo, ele simplemente mostra o campo que estiversetado no ListFieldIndex.


Responder

Gostei + 0

04/04/2005

Guilherme

cara no segundo post é eu !!!! ta esplicado certim e da certo porq eu so usso assim ....mas se presisar de ajuda pra fazer isso au nao tiver dando certo o q te falei ou vc nao intendeu me adicione no msn gborges_13@hotmail.com



abraço


Responder

Gostei + 0

05/04/2005

Cabelo

Com já havia respondido, o q quero não é criar o campo lookup, isso eu sei fazer, o q preciso é que quando for selecionar o material, seja visualizado vários campos no combo, mas após a seleção, apareça somente a descrição do material no grid.


Responder

Gostei + 0

05/04/2005

Cabelo

sobe..


Responder

Gostei + 0

05/04/2005

Silviogs

Olá

você teria como mandar os fontes do delphi5 para mim, vou testar com o delphi7 ou 2005


Silvio Guedes
silvio.guedes@ig.com.br


Responder

Gostei + 0

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

Aceitar