none
Llenar dos Combobox anidados desde webservice .asmx RRS feed

  • Pregunta

  • Buenas tardes

    mi pregunta es la siguiente,

    tengo una aplicación webforms en la cual lleno dos dropdownlist desde un web service de la siguiente manera:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load       
    If Not Page.IsPostBack Then
                Dim InstanciaDdoDepartamentos As DataTable = WebService.CargarDepartamentos
                If Not InstanciaDdoDepartamentos Is Nothing Then
                    DrwDepartamento.DataSource = InstanciaDdoDepartamentos
                    DrwDepartamento.DataValueField = "Id_Departamento"
                    DrwDepartamento.DataTextField = "Nombre_Departamento"
                    DrwDepartamento.DataBind()
                End If
    
            End If
    End Sub

    A su vez tengo otro dropdown que me carga las ciudades de la siguiente manera:

    Private Sub DrwDepartamento_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DrwDepartamento.SelectedIndexChanged
            Dim InstanciaCiudades As DataTable = WebService.CargarCiudades(DrwDepartamento.SelectedValue)
            DrwCiudad.DataSource = InstanciaCiudades
            DrwCiudad.DataValueField = "Id_Ciudad"
            DrwCiudad.DataTextField = "Nombre_Ciudad"
            DrwCiudad.DataBind()
        End Sub

    El código funciona perfectamente y me llena los drop como quiero.

    el problema es que quise hacer lo mismo desde una aplicación WinForms y al cargar departamento funciona de maravilla:

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim MostrarDatosGrilla As DataTable = WebServiceCod.CargarDepartamentos
            ComboBox1.DataSource = MostrarDatosGrilla
            ComboBox1.ValueMember = "Id_Departamento"
            ComboBox1.DisplayMember = "Nombre_Departamento"
    End Sub

    pero me sale el siguiente error:

    Excepción no controlada del tipo 'System.InvalidCastException' en Microsoft.VisualBasic.dll
    Información adicional: La conversión del tipo 'DataRowView' en el tipo 'Integer' no es válida.

    Cuando cargo las ciudades usando este codigo:

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
            Dim MostrarCiudaddes As DataTable = WebServiceCod.CargarCiudades(ComboBox1.SelectedValue)
            ComboBox2.DataSource = MostrarCiudaddes
            ComboBox2.ValueMember = "Id_Ciudad"
            ComboBox2.DisplayMember = "Nombre_Ciudad"
    End Sub

    Espero por favor me puedan colaborar 

    gracias de antenmano y buena tarde


    Ivan Mauricio Marin

    viernes, 17 de agosto de 2018 18:50

Respuestas

  • Hola magus_caligula

    Con respecto a tu consulta, te recomiendo  ir al siguiente enlace en el cual consiste en una documentación sobre como resolver este error

    https://support.microsoft.com/es-sv/help/310371/invalidcastexception-exception-when-you-reference-the-value-of-a-datac

    Gracias por usar los foros de MSDN.

    Pablo Rubio

     _____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

     

    • Marcado como respuesta Pablo Rubio jueves, 23 de agosto de 2018 20:44
    miércoles, 22 de agosto de 2018 17:03