Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2005, 06:45
Avatar de moNTeZIon
moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Rellenar combo con Estructura y Datareader

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!
__________________
..:: moNTeZIon ::..