1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Preencher combobox

Discussão em 'Programação' iniciada por candycane, 27 de Maio de 2008. (Respostas: 4; Visualizações: 1161)

  1. candycane

    candycane Power Member

    Boa dia comunidade.

    Tou a tentar preencher uma combobox com 2 vectores. Um é para o value e o outro para o display. Só que ao selecionar o combobox não me apanha o value.


    int[] valor = { 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12 };
    string[] nome = { "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" };
    cb_mes.DisplayMember = nome.ToString();
    cb_mes.ValueMember = valor.ToString();
    cb_mes.DataSource = nome;


    mais tarde num query quando faço me='" + cb_mes.SelectedValue + "'

    o valor que me põe é o janeiro, ou março ou abril... etc.. Porque será? :\
     
  2. Armadillo

    Armadillo Folding Member

    pois... e qual é a linguagem?
     
  3. candycane

    candycane Power Member

  4. SoundSurfer

    SoundSurfer Power Member

    Vai aí uma grande confusão:


    cb_mes.DataSource -> aqui tens de colocar uma lista
    cb_mes.DisplayMember -> aqui tens de colocar o campo de cada objecto da lista que queres mostrar na combobox
    cb_mes.ValueMember -> aqui tens de colocar o campo de cada objecto da lista que queres que seja o Value

    Mas estás a colocar 2 listas separadas.

    Penso que usar o datasource não é a melhor solução no teu caso. Penso que é melhor o seguinte:

    Código:
    
    string[] nome = { "Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro" };
    
    for(int i = 1; i <= nome.Lenght ; i++ )
    {
    cb_mes.Items.Add(new ListItem(nome[i], i.ToString("##"));
    }
    
     
  5. candycane

    candycane Power Member

    Muito obrigada! Já deu :D
     

Partilhar esta Página