Bueno, disculpen por el titulo, no sabia como resumirlo pero lo imprtante es que salen las palabras clave.
Pues miren, ando últimamente rellenando mis combobox con el siguente método.
Dada esta estructura:
Código:
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
Me lo monto así:
Código:
Dim miEstado() As OpcionCombo = { _
New OpcionCombo("Reparada", 1), _
New OpcionCombo("Ausente", 2), _
New OpcionCombo("Pendiente Pieza", 3), _
New OpcionCombo("Pendiente Reparacion", 4)}
Y por último, asigno esta variable como Datasource:
Código:
txtEstado.DataSource = miEstado
txtEstado.DisplayMember = "ValorMostrado"
txtEstado.ValueMember = "ValorReal"
txtEstado.DataBindings.Add("SelectedValue", miDataSet, "Urgencias.Estado")
Pues bien, tengo el problema que no se como hacer lo mismo, pero recuperando los valores de un DataReader:
Código:
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
Espero haberme explicado y que me puedan ayudar, seguro que es sencillito..
Gracias y saludos!