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