none
cargar, paises, regiones, ciudades en combobox

    Pregunta

  • Hola a todos, tengo un problema, cree un SP simple.

    create PROCEDURE [dbo].[SP_Buscar_Ciudades] 
    	@Nombre_pais varchar(50),
    	@Nombre_Region varchar(50)
    AS
    BEGIN
    	
    	SET NOCOUNT ON;
    	select nombre from Tbl_Ciudad where Nombre_Pais=@Nombre_pais and Nombre_region =@Nombre_Region
    END
     

    Quiero cargar los nombres de paises en un combobox y que al seleccionar uno, cargue sus regiones(provincias, etc), y que al seleccionar una region cargue sus ciudades. Lo intente de la siguiente forma pero no me da resultado

        Dim cn As New SqlConnection(xxxx)
        Dim cmd As New SqlCommand
        Dim cmd2 As New SqlCommand
      
    
    
        Dim variable As SqlDataReader
    
    
        Private Sub xxxx_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    
            '-----------------------------------------------------------
            'Listar Paises
            cmd.CommandType = CommandType.Text
            cmd.CommandText = ("Select Nombre from Tbl_Pais")
            cmd.Connection = (cn)
            cn.Open()
            variable = cmd.ExecuteReader()
            While variable.Read = True
                cbx_pais.Items.Add(variable.Item(0))
            End While
            cn.Close()
    
    'Listar ciudades
            cmd2.CommandType = CommandType.StoredProcedure
            cmd2.Connection = (cn)
            cmd2.CommandText = ("sp_buscar_ciudades")
            cmd2.Parameters.Add("@Nombre_pais", SqlDbType.VarChar, 50)
            cmd2.Parameters.Add("@Nombre_region", SqlDbType.VarChar, 50)
            
        End Sub
    
    
        Private Sub cbx_pais_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cbx_pais.SelectedIndexChanged
            cmd2.Parameters("@Nombre_pais").Value = cbx_pais.SelectedItem
            cn.Open()
            variable = cmd2.ExecuteReader()
    
            While variable.Read = True
                'Aquí debe agregar los datos a todos los listboxs
                cbx_Region.Items.Add(variable.Item(0))
            End While
            cn.Close()
    
        End Sub
    
        Private Sub cbx_Region_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cbx_Region.SelectedIndexChanged
            cmd2.Parameters("@Nombre_Region").Value = cbx_Region.SelectedItem
            cn.Open()
            variable = cmd2.ExecuteReader()
    
            While variable.Read = True
                'Aquí debe agregar los datos a todos los listboxs
                Cbx_Ciudad.Items.Add(variable.Item(0))
            End While
            cn.Close()
        End Sub
    
    
    End Class
    De ante mano gracias.


    jueves, 22 de diciembre de 2016 18:09

Respuestas

  • Acá hay una buena referencia

    http://ltuttini.blogspot.pe/2010/03/winforms-combobox-anidados.html


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    jueves, 22 de diciembre de 2016 19:05

Todas las respuestas

  • Acá hay una buena referencia

    http://ltuttini.blogspot.pe/2010/03/winforms-combobox-anidados.html


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    jueves, 22 de diciembre de 2016 19:05
  • Puedes poner el evento "Leave" del ComboBox país la carga de datos para los otros combos, me explico:

    Al dejar el ComboBox del país el ComboBox de regiones se cargue con las regiones del país seleccionado y así sucesivamente.

    Saludos

    viernes, 23 de diciembre de 2016 16:35
  • Gracias me sirvió de mucho.
    martes, 27 de diciembre de 2016 14:22