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!