COMO VINCULAR COMBO A DATAGRID

ALTAIR148 18/10/2011 15:49:07
#386969
Amigo, você viu a estrutura da Tabela?
Viu que que na tabela pessoa tem apenas o campo [Ô]codigo_profissao[Ô]? O que fiz foi um relacionamento entre tabelas que é de extrema importância no seu caso.

Recaptulando. A profissão na tabela pessoa é identificada pelo codigo e não pelo nome.


Até mais.
RENATOTEOTONIO 19/10/2011 09:33:18
#387042
Caro Altair,
Desculpe a demora em responde-lo, mas e que ontem tive sair logo após a sua resposta.
Infelizmente a sua solução, por sinal inteligente, não poderá me atender mesmo. Como disse antes, usarei esta solução no meu trabalho, e aqui as combos podem ter mais de um campo no text (concatenados, ex: 0001 – 02/0001 JOSE DA SILVA). Por tanto o preencimento da text da combo quando do movimento do grid acarretaria em que o formato do as minha fonte (select) teria de ser exatamente igual a string a ser colocada no text da combo. Entao, não posso implementar contando com o formato da combo, visto que os formatos variam muito.
Eu consegui chegar a uma solução via wizard dos objetos datagrid e combobox, mas não consegui fazer o mesmo via código.
Estou enviando para você esta solução, utilizando o mdb exemplo onde adicionei uma ou duas linhas nas tabelas.
Voce notara que que cada objeto utiliza uma tabela separadamente, isto e, sem fazer join, e o vinculo entre eles fica por conta do campo código_profissao (chave estrangeira na tabela pessoas).
Ao movimentar o grid automaticamente a combo se posiciona utilizando o codigo_profissao do grid como chave de procura, e mostra o nome da profissão na text da combo.
Voce também notara que eu coloquei uma profissão repetida (gerente) , e que trocando a combo, gerente pelo outro gerente a chave muda. E esta chave seria gravada na tabela pessoas no caso de implentar a função de alteração.

Obrigado pela sua atencao.
Valeu
ALTAIR148 19/10/2011 10:03:03
#387046
Cara, to meio lento hoje, e não deu para entender exatamente. Tente explicar novamente o que desejas.

Até mais.
RENATOTEOTONIO 19/10/2011 11:05:28
#387054
Ok amigo,
desculpe, acho que ficou meio enrolado mesmo.
Acho que fica mais facil se voce, quando for possivel, baixar e executar a aplicacao que lhe mandei, baseada no exemplo.mdb . Ela faz exatamente o que eu quero, mas na verdade eu quero que seja feito via codigo.

Pelo que eu entendi, ao movimentar o grid, ele manda a chave de profissao para a combo e ela se posiciona automaticamente.
Mesmo quando o nome da profissao e igual, note que o codigo muda na escolha.

Outra, quando voce altera a combo, o codigo da profissao do grid muda tambem, tudo automatico, sem evento, sem join. No caso, cada objeto trabalha com a sua tabela (pai e filho).

Valeu.
ALTAIR148 19/10/2011 15:38:43
#387086
Bom amigo, acho que agora vai...

Até mais.
RENATOTEOTONIO 27/10/2011 15:38:54
#387921
Caro Altair,
desculpe a demora, mas estive fora e agora retomei os trabalhos.
Infelizmente ainda nao foi.
Estou lhe enviando um novo projetinho onde acredito tenha chegado proximo a solucao, mas acredito eu, por algum pequeno detalhe ainda nao funciona.

Voce vai reparar 2 datagrids e 2 combos onde, o conjunto de cima funciona exatamente como eu quero, mas via wizard dos objetos.

No par de baixo, fui tentando recriar a mesma situacao, VIA CODIGO, que é exatamente o que eu quero. Acho que com o seus conhecimentos voce vai achar logo a solucao. Acredito que ja esteja perto, mais 2 ou 3 linhas de codigo.

No aguardo e mais uma vez obrigado.
ALTAIR148 27/10/2011 19:26:07
#387947
Boa noite,

Amigo não vejo a diferença entre o projeto que mandei e esse datagrid na parte de cima que me mandou.

Até mais.
RENATOTEOTONIO 28/10/2011 10:14:07
#387984
Caro Altair,

a diferenca fundamental é que na solucao que eu preciso nao existe um join preliminar como na sua solucao.

Note que a alimentacao dos objetos é independente, cada um somente com a sua tabela correpondente.

No DATAGRID existe a chave estrangeira codigo-profissao que e utilizada para movimentar a COMBO. Este vinculo é implementado internamente quando informo o selectedvalue do bindingsource da combo. No caso é o codigo-profissao da tabela pessoa.

Note tambem que alem do datagrid movimentar a combo, se voce movimentar a combo, isto e, escolher outra profissao, o codigo-profissao no datagrid tambem muda, basta voce movimentar o datagrid para ver a mudanca.

TUDO ISTO OCORRE AUTOMATICAMENTE, SEM UM JOIN PRELIMINAR ENTRE AS TABELAS, E SEM USO DE EVENTOS.

Obrigado
REnato Teotonio
ALTAIR148 28/10/2011 10:22:27
#387986
Ah amigo agora entendi, o que estás querendo, não havia reparado que ao mudar o valor do combo, mudava também o valor do datagrid, vou fazer aqui então.
ALTAIR148 28/10/2011 10:24:58
#387988
Outra pergunta.

Por exemplo se alterar o valor do combo, e mostrar no datagrid o valor alterado, é para fazer o Update na tabela, ou so mostrar ali mesmo, pq da forma que tem lá via wizzard ele não faz o update na tabela.
Página 2 de 3 [24 registro(s)]
Tópico encerrado , respostas não são mais permitidas