none
Como fazer com conteúdo do Combobox? RRS feed

  • Pergunta

  • Saudações.

    Estou tendo um verdadeiro desafio no desenvolvimento de um programa de Windows Form Aplication no VBexpress 2010. Tenho um formulário que deve selecionar uma mesma base de dados para os itens de exposição de 3 comboboxes. Os itens expostos são a mesma lista, mas eles devem registrar o valor em uma tabela diferente em 3 campos diferentes com valores diferentes. Exemplo:

    Base de dados: azul; vermelho; amarelo; verde; laranja; roxo

    combo 1 mostra <base de dados> e seleciona a cor da primeira bola sorteada.

    combo 2 mostra <base de dados> e seleciona a cor da segunda bola sorteada diferente da primeira.

    ...

    Acontece que, quando seleciono a mesma base de dados para 3 comboboxes, eles ficam dependentes uns dos outros. Ou seja, se eu seleciono um valor em um deles, todos mudam ao mesmo tempo.

    Será que terei que fazer 3 tabelas com os mesmos valores, ou mesmo 3 colunas em uma tabela com os mesmos valores para poder atingir meu objetivo?

     

    (no exemplo, se eu seleciono vermelho, os 3 comboboxes setam vermelho.)

    Depois tenho que gravar a informaÇão em uma outra tabela.

    1a bola <cor.sorteio.1> <cor.sorteio.2> <cor.sorteio.3> <cor.sorteio.4>

    2a bola <cor.sorteio.1> <cor.sorteio.2> <cor.sorteio.3> <cor.sorteio.4>

    3a bola <cor.sorteio.1> <cor.sorteio.2> <cor.sorteio.3> <cor.sorteio.4>

    quinta-feira, 16 de junho de 2011 01:48

Respostas

  • Bom como exemplifiquei antes, gostaria de 3 comboboxes exibindo o mesmo displayMember, sem dependência entre eles. Estou usando o VBEXPRESS 2010, logo, não vou postar como código.

    A solução que encontrei, não foi a que eu queria, mas posto mesmo assim:

    Criei 2 novos datatables relacionados com a primeira tabela de lista de cores, na qual as tabelas dependentes atualizam seus items de acordo com a coluna de cores da primeira tabela. Assim, configurei os CBX da seguinte forma:

    Combo1(1a bola)

        Bind_Text > campo bola1(Tabela Resultado)

        Bind_Data Source > TabelaCores

        Bind_DisplayMember > CampoCores

        Bind_ValueMember > CampoCores

    Combo1(2a bola)

        Bind_Text > campo bola2(Tabela Resultado)

        Bind_Data Source > SubTabelaCores1

        Bind_DisplayMember > CampoCores

        Bind_ValueMember > CampoCores

    Combo1(3a bola)

        Bind_Text > campo bola3(Tabela Resultado)

        Bind_Data Source > SubTabelaCores2

        Bind_DisplayMember > CampoCores

        Bind_ValueMember > CampoCores

    • Marcado como Resposta Beto Buch terça-feira, 21 de junho de 2011 02:47
    terça-feira, 21 de junho de 2011 02:47

Todas as Respostas

  • Beto como você está populando os combobox?
    Estudar, Estudar e Estudar! Não existe caminho curto.
    quinta-feira, 16 de junho de 2011 11:45
  • Parace que voce usou join e bindingsource. Se este for o caso vais ter de remover o bind que existe entre as combobox.

     


    One word frees us of all the weight and pain of life: that word is love.
    quinta-feira, 16 de junho de 2011 13:20
  • Eu já tentei (lembrando que o meu objetivo é usar uma mesma tabela como fonte de dados):

    bind Text ( mas não tem nada a ver... ele liga o texto de uma linha, mas não dispõe como lista para selecionar.)

    data source <bd> + Display Member <tabela de cores> (resultado muda em todos os combos, afinal o display é a lista de collections)

    data source <bd> + Value Member <tabela de cores> (idem, afinal é a atribuição da coluna da tabela que deterá os valores como serão gravados para cada item da tabela de display)

    data source <bd> + Display Member <tabela de cores> + Value Source <tabela de cores> (idem)

     

    Será que se eu criar uma coluna com valores numéricos, eu consigo atribuir valores diferentes para cada seleção no combo?


    sexta-feira, 17 de junho de 2011 01:05
  • Já tentei introduzir um a um os combos sem link com BD, mas quando edito os links, ocorre o mesmo problema acima, indicando que é a atribuiçao de valores que está confusa.

    sexta-feira, 17 de junho de 2011 01:07
  • Atualizando: tentei alterar no banco de dados (uso o bd do access 2010) colocando na tabela de médicos 3 colunas atribuíndo valores diferentes para cada cor. Exemplo:

    < código com num automática > <cor das bolas> <[código]*100> <[código]*10> <[código]>

     

    tentei atribuir ao display.member a cor das bolas e ao value.member as colunas criadas, uma para cada combobox.
    O problema persistiu, logo não é uma questão de valores diferentes

     

     

    • Marcado como Resposta Beto Buch terça-feira, 21 de junho de 2011 02:47
    • Não Marcado como Resposta Beto Buch terça-feira, 21 de junho de 2011 02:47
    domingo, 19 de junho de 2011 21:09
  • Bom como exemplifiquei antes, gostaria de 3 comboboxes exibindo o mesmo displayMember, sem dependência entre eles. Estou usando o VBEXPRESS 2010, logo, não vou postar como código.

    A solução que encontrei, não foi a que eu queria, mas posto mesmo assim:

    Criei 2 novos datatables relacionados com a primeira tabela de lista de cores, na qual as tabelas dependentes atualizam seus items de acordo com a coluna de cores da primeira tabela. Assim, configurei os CBX da seguinte forma:

    Combo1(1a bola)

        Bind_Text > campo bola1(Tabela Resultado)

        Bind_Data Source > TabelaCores

        Bind_DisplayMember > CampoCores

        Bind_ValueMember > CampoCores

    Combo1(2a bola)

        Bind_Text > campo bola2(Tabela Resultado)

        Bind_Data Source > SubTabelaCores1

        Bind_DisplayMember > CampoCores

        Bind_ValueMember > CampoCores

    Combo1(3a bola)

        Bind_Text > campo bola3(Tabela Resultado)

        Bind_Data Source > SubTabelaCores2

        Bind_DisplayMember > CampoCores

        Bind_ValueMember > CampoCores

    • Marcado como Resposta Beto Buch terça-feira, 21 de junho de 2011 02:47
    terça-feira, 21 de junho de 2011 02:47