COMO VINCULAR COMBO A DATAGRID
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.
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.
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
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
Cara, to meio lento hoje, e não deu para entender exatamente. Tente explicar novamente o que desejas.
Até mais.
Até mais.
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.
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.
Bom amigo, acho que agora vai...
Até mais.
Até mais.
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.
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.
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.
Amigo não vejo a diferença entre o projeto que mandei e esse datagrid na parte de cima que me mandou.
Até mais.
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
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
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.
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.
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.
Tópico encerrado , respostas não são mais permitidas