none
error al llenar combobox RRS feed

  • Pregunta

  • Hola a todos

    tengo un problema con un combobox 

       Try

                cone.Open()

                Dim sel As String = "Select Concat(rpad(ordencliente,20,' '),rpad(contacto,60,' '),numorden) as MiCampo from bdgestion.ordcompv"

                Dim cm As New MySqlCommand(sel, cone)

                Dim da As New MySqlDataAdapter(cm)

                cm.ExecuteNonQuery()

                Dim dt As New DataTable

                da.Fill(dt)

                cmbOrden.DisplayMember = "MiCampo"

                cmbOrden.ValueMember = "MiCampo"

                cmbOrden.DataSource = dt

            Catch ex As Exception

                MsgBox(ex.Message)

            End Try

     

    con este codigo lleno desde la base de datos mysql el combobox pero este me muestra 

     

    System.Data.DataRowView

     

    La cantidad de veces como cantidad de datos, la consulta ya la probe en mysql query y me trae los datos sin problemas. Ojala me puedan ayudar.

    Saludos desde Chile.

     

    • Cambiado Enrique M. Montejo domingo, 13 de mayo de 2012 16:54 acceso a datos (De:Lenguaje VB.NET)
    miércoles, 7 de diciembre de 2011 17:45

Todas las respuestas

  • hola

    de casualidad estas usando el evento SelectedIndexChanged asociado al combobox ?

    porque este evneto suele generar este problema que describes

    cambia este evento por el SelectedChangeCommited

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 7 de diciembre de 2011 19:14
  • Yo haria lo siguiente

     

     

    Try
    
                cone.Open()
    
                Dim sel As String = "Select Concat(rpad(ordencliente,20,' '),rpad(contacto,60,' '),numorden) as MiCampo from bdgestion.ordcompv"
    
                    Dim da As New MySqlDataAdapter(sel,cone)
    
                    Dim dt As New DataTable
    
    		da.Fill(dt)
    
    		cmbOrden.items.clear
    
    		For each Row as DataRow in dt
    
    			cmbOrden.items.add(Row("MiCampo"))
    
    		Next
    
            Catch ex As Exception
    
                MsgBox(ex.Message)
    
            End Try

     

     

    Slds


    Leonardo Mtz. "No soy indeciso. Es que no me gusta limitar mis opciones" - Maxti, piromante
    miércoles, 7 de diciembre de 2011 23:25
  • Gracias por responder Argyl, pero me sale un error en lo que me propones como respuesta

    For Each row As DataRow In dt

    en esta linea en el datatable me dice

    La expresión es del tipo 'System.Data.DataTable', que no es un tipo de colección.

    No habia podido entrar a revisar este tema y probar, es por eso que desmarque la respuesta, lo siento y se agradece sus respuestas.

    Saludos.

     

     


    miércoles, 14 de diciembre de 2011 19:39
  • Correcto! una disculpa. Este es el codigo:

     

    		For each Row as DataRow in dt.Rows
    
    			cmbOrden.items.add(Row("MiCampo"))
    
    		Next

    Slds


    Leonardo Mtz. "No soy indeciso. Es que no me gusta limitar mis opciones" - Maxti, piromante
    miércoles, 14 de diciembre de 2011 19:52
  • ahora me llena el combo pero dice 

    Matriz Byte[]

    todos los datos, bueno ojala me puedan ayudar.

    Saludos.

    miércoles, 14 de diciembre de 2011 20:06
  • Puedes pegar como estas usando el codigo?

     

    Slds


    Leonardo Mtz. "No soy indeciso. Es que no me gusta limitar mis opciones" - Maxti, piromante
    miércoles, 14 de diciembre de 2011 20:34
  • ok, ahí va, lo cargo en el evento load para que al abrir el form aparesca el combo lleno

    Private Sub GestionInternaRopa_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Try
                cone.Open()
                Dim sel As String = "Select Concat(rpad(ordencliente,20,' '),rpad(contacto,60,' '),numorden) as MiCampo from bdgestion.ordcompv"
                Dim da As New MySqlDataAdapter(sel, cone)
                Dim dt As New DataTable
                da.Fill(dt)
                cmbOrden.Items.Clear()
                For Each row As DataRow In dt.Rows
                    cmbOrden.Items.Add(row("MiCampo"))
                Next
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    End Class
    


    Gracias por tu ayuda.

    Saludos.

     

    miércoles, 14 de diciembre de 2011 20:56
  • Yo pensaba que habia algo raro con el objeto MySqlDataAdapter, pero no.

     

    Checa este articulo del guille donde esta mucho mas explicado y a detalle.

     

    http://www.elguille.info/colabora/puntoNET/versae_MySQLNET.htm

     

    Slds


    Leonardo Mtz. "No soy indeciso. Es que no me gusta limitar mis opciones" - Maxti, piromante
    miércoles, 14 de diciembre de 2011 22:55