Array
(
)

Associar Códigos às Descrições numa Combo

D4rk Schn31d3r
   - 24 jun 2005

no evento load do meu form:

#Código

Dim frmPrincipal As New frmPrincipal

Try
    frmPrincipal.scnSCComercial.Open()

    Dim scmFuncao As New SqlCommand
    scmFuncao.Connection = frmPrincipal.scnSCComercial
    scmFuncao.CommandType = CommandType.StoredProcedure
    scmFuncao.CommandText = "funcao_sps"

    Dim sdrFuncao As SqlDataReader
    sdrFuncao = scmFuncao.ExecuteReader(CommandBehavior.CloseConnection)

    Do While sdrFuncao.Read()
        Me.cboNomeFuncao.Items.Add(sdrFuncao("Nome_Funcao"))
        ´???
    Loop

    sdrFuncao.Close()
Catch ex As Exception
    ´...
End Try


Nessa minha sp: funcao_sps, ela retorna os campos id_funcao e nome_funcao (cujos valores já estão sendo exibidos corretamente na minha combo através do método add), o q eu queria agora era associar o respectivo código (id_funcao) em cada uma das funções, como consigo fazer isso? Agradeço se alguém puder dar 1 help.

OBS: no vb6, eu fazia assim:

#Código
Do While Not rs.EOF
    cboNomeFuncao.AddItem rs("nome_funcao")
    cboNomeFuncao.ItemData(cboNomeFuncao.NewIndex) = rs("id_funcao")
            
    rs.MoveNext
Loop


Bon Jovi
   - 25 jun 2005

Vc pode vincular a um DataSource. Exemplo usando Table:

Sintaxe em C#:

comboBox1.DataSource = dataset1.Tables[´tab_funcao´];
comboBox1.DisplayMember = ´nome_funcao´; //campo que vai ser exibido na listagem
comboBox1.ValueMember = ´id_funcao´; //campo para identificacao da linha