COMO EXIBIR DADOS DO BANCO DE DADOS NO STRINGGRID

Delphi

16/01/2013

Meu nome é Samuel sou iniciante no ramo de programação e também no Delphi e acabei de entrar em uma empresa, e recebi um serviço no qual tenho que criar uma espécie de agenda telefônica, busco no banco de dados o nome e a razão social das empresas cadastradas e mostro em um DBGrid, até essa parte está tudo bem, mas preciso de colocar um StringGrid ao lado, pois quando algum cliente for selecionado na lista, deve aparecer no StringGrid os seguintes dados

NOME para contato, DEPARTAMENTO, TELEFONE 1, TELEFONE 2 e o E-MAIL para contato.

Tenho todos estes dados disponíveis no banco de dados, mas não tenho nenhum conhecimento em StrigGrids.

Bom, preciso pegar os seguintes campos que estão no banco de dados, na tabela Pessoa:
PESSOA.FONE_CEL_PESSOA,
PESSOA.FONE_SEC_PESSOA,
PESSOA.FONE_CONTATO_ENT_PESSOA,
PESSOA.FONE_CONTATO_FAT_PESSOA,
PESSOA.FONE_PRIM_PESSOA,
PESSOA.EMAIL_CONTATO_PESSOA,
PESSOA.EMAIL_CONTATO_ENT_PESSOA,
PESSOA.EMAIL_CONTATO_FAT_PESSOA,
PESSOA.NOME_CONTATO_ENT_PESSOA,
PESSOA.NOME_CONTATO_FAT_PESSOA,
PESSOA.NOME_CONTATO_PESSOA,
PESSOA.DEPTO_CONTATO_ENT_ENTREGA,
PESSOA.DEPTO_CONTATO_FAT_ENTREGA,
PESSOA.DEPTO_CONTATO_PESSOA

e preciso colocá-los no StringGrid da seguinte maneira:


NOME DEPARTAMENTO TELEFONE TELEFONE TELEFONE E-MAIL
José administração (xx)xxxx-xxxx (xx)xxxx-xxxx (xx)xxxx-xxxx jose@hotmail.com


NOM DEPARTAMENTO TELEFONE TELEFONE TELEFONE E-MAIL
João suporte (xx)xxxx-xxxx (xx)xxxx-xxxx (xx)xxxx-xxxx joao@hotmail.com


NOME DEPARTAMENTO TELEFONE TELEFONE TELEFONE E-MAIL
Maria Produção (xx)xxxx-xxxx (xx)xxxx-xxxx (xx)xxxx-xxxx jose@hotmail.com

PRECISO URGENTE DESSE CÓDIGO SE ALGUÉM PUDER ME INFORMAR, ESTOU USANDO OS COMPONENTES: SQLDATASET, DATASET PROVIDER, E O CLIENTDATASET.

AQUI ESTA A IMAGEM DA MINHA TELA:
http://www.babooforum.com.br/forum/uploads/monthly_01_2013/post-572524-0-38324000-1358335281_thumb.png
Samuel Silva

Samuel Silva

Curtidas 0

Respostas

Luiz Menin

Luiz Menin

16/01/2013

Uma alternativa mais simples seria você utilizar mais um DBGrid no lugar deste StringGrid.

Ao selecionar um cliente no DBGrid1, filtra-se os contatos somente daquele cliente e mostra no DBGrid2.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

16/01/2013

Concordo com o Luiz. A menos que você tenha um motivo muito específico para usar o StringGrid, sugiro usar o DBGrid. É muito mais fácil e prático de "montar", além de ser esse seu objetivo.
GOSTEI 0
Samuel Silva

Samuel Silva

16/01/2013

correto gente, inicialmente eu também pensei no DBGrid, porém nao tem como pois no DBGrid ele não vai mostrar como estou precisando, preciso que mostre na primeira linha (o nome para contato o departamento o telefone 1 o telefone 2 e o e-mail), na segunda linha, preciso que mostre (contato para entrega, o departamento do contato, os telefones do contato e o e-mail do contato), e na terceira linha, aparecer (o contato para faturamento, o departamento do contato os telefones do contato e o e-mail do contato), e no DBGrid nao pode-se configurar linha por linha. Preciso também se for possível, saber como farei um loop para estre StringGrid ficar criando novas linhas, pois terei também que criar um cadastro de contatos, para poder adicionar contatos nesta StringGrid. Se alguém puder me ajudar com essa StringGrid, pois não tenho nem mesmo o conhecimento básico em StringGrid, pois não vi este componente em meu curso.
GOSTEI 0
Samuel Silva

Samuel Silva

16/01/2013

Estou criando essa agenda para coloca-la dentro do sistema da empresa, (nossa empresa trabalha com revenda e manutenção de pontos eletrônicos e biométricos), e um sistema que contém, cadastro de clientes(clientes são as empresas para as quais prestamos serviços), cadastro de produtos, cadastro de grupos, cadastro de formas de pagamentos e varias outras ferramentas. então, devo criar essa agenda ligada na tabela de cadastro de clientes (empresas), ou seja, sempre que for feito um novo cadastro ou uma alteração de cadastro, automaticamente a agenda também será atualizada, até ai esta tudo certo.

Essa agenda contém 1 DBGrid onde mostra as empresas cadastradas, separadas por NOME FANTASIA e por RAZÃO SOCIAL, ao posicionar o cursor em alguma dessas empresas, (aogra vem a parte que estou com dificuldade) deve-se direcionar para a StringGrid os seguintes dados:
1ªlinha:NOME PARA CONTATO, DEPARTAMENTO DO CONTATO, TELEFONES DO CONTATO e E-MAIL DO CONTATO.

2ª:NOME DO CONTATO p/ENTREGA, DEPARTAMENTO DO CONTATO p/ENTREGA, TELEFONES DO CONTATO p/ENTREGA e E-MAIL DO CONTATO p/ENTREGA

3ª:NOME DO CONTATO p/FATURAMENTO, DPT°. DO CONTATO p/FATURAMENTO, FONES DO CONTATO p/FATURAMENTO e E-MAIL DO CONTATO P/FATURAMENTO.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

16/01/2013

Nesse caso, você pode fazer um loop no seu dataset e, para cada linha, adicionar duas linhas no StringGrid. Então você atribui o texto à propriedade Cells[i,j] de acordo com a linha e coluna.
GOSTEI 0
Samuel Silva

Samuel Silva

16/01/2013

Pessoa consegui, coloquei o seguinte código no Ondatachande do meu datasource:
sg.Cells[0,1] := DMPesquisa.cdsPessoaNOME_CONTATO_PESSOA.AsString;
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

16/01/2013

Beleza, dúvida sanada então?
GOSTEI 0
Samuel Silva

Samuel Silva

16/01/2013

Sim, muito obrigado pela ajuda e orientação.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

16/01/2013

Show de bola, Samuel. Obrigado pelo retorno.
Estou encerrando o tópico então.
GOSTEI 0
POSTAR