Pues miren, ando últimamente rellenando mis combobox con el siguente método.
Dada esta estructura:
Código:
Me lo monto así: Public Structure OpcionCombo
Private m_ValorReal, m_ValorMostrado As String
Public Sub New(ByVal ValorMostrado As String, ByVal ValorReal As String)
Me.m_ValorReal = ValorReal
Me.m_ValorMostrado = ValorMostrado
End Sub
Public ReadOnly Property ValorReal() As String
Get
Return m_ValorReal
End Get
End Property
Public ReadOnly Property ValorMostrado() As String
Get
Return m_ValorMostrado
End Get
End Property
End Structure
Código:
Y por último, asigno esta variable como Datasource: Dim miEstado() As OpcionCombo = { _
New OpcionCombo("Reparada", 1), _
New OpcionCombo("Ausente", 2), _
New OpcionCombo("Pendiente Pieza", 3), _
New OpcionCombo("Pendiente Reparacion", 4)}
Código:
Pues bien, tengo el problema que no se como hacer lo mismo, pero recuperando los valores de un DataReader: txtEstado.DataSource = miEstado
txtEstado.DisplayMember = "ValorMostrado"
txtEstado.ValueMember = "ValorReal"
txtEstado.DataBindings.Add("SelectedValue", miDataSet, "Urgencias.Estado")
Código:
Espero haberme explicado y que me puedan ayudar, seguro que es sencillito..Private Function DameClientes() As OpcionCombo
Dim misClientes As OpcionCombo
Dim dR As OleDbDataReader
Dim cM As New OleDbCommand("SELECT * FROM Clientes ORDER BY Apellidos, Nombre", miConn)
miConn.Open()
dR = cM.ExecuteReader
While dR.Read
misClientes.Add(New OpcionCombo(dR(0), dR(1))) '--> Esto es lo que no se hacer, deberia ser algo así, pero el método Add no existe obiamente.
End While
miConn.Close()
return misClientes
End Function
Gracias y saludos!

