Visual Basic.NET - Combobox dependientes con stored Procedure

   
Vista:
Imágen de perfil de Jose

Combobox dependientes con stored Procedure

Publicado por Jose (1 intervención) el 18/04/2016 05:56:58
Saludos comunidad
Tengo dos combobox cbo.Paises, cboCiudades
necesito cargar las ciudades en el combo ciudades cuando se haya selecionado un pais en el combo paises. Estoy utilizando 3 capas y un store procedure para cargar los paises es el siguiente:

1
2
3
4
5
6
CREATE PROCEDURE SP_ListarPaises
AS
SELECT *
FROM tPaises
ORDER BY tPaises.Nombre asc
GO

resultado:

Id_Pais Nombre

1 Alemania

2 Belgica

-------------------------------

esta es la funcion que realize en capadatos para agregar el storedProcedure:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Public Function ListaPaises() As DataTable
Try
 
cn.ConnectionString = CadenaConexion()
Dim Da As New SqlDataAdapter("SP_ListarPaises", cn)
Da.SelectCommand.CommandType = CommandType.StoredProcedure
Dim datos As New DataTable
Da.Fill(datos)
Da = Nothing
Return datos
Catch ex As Exception
 
MsgBox("Error" & ex.Message, MsgBoxStyle.Critical, "Informe de Error")
If cn.State = ConnectionState.Open Then cn.Close()
cn.Dispose()
Return Nothing
Finally
End Try
 
End Function

-------------------------------------
esta es el procedimiento que instancio en capa presentacion para llenar el combo:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Public Sub llenarComboPaises()
 
Dim dt As New DataTable
Dim func As New CapadatosFunciones
 
Try
 
dt = func.ListarPaises
 
Dim dr As DataRow = dt.NewRow()
dr("Nombre") = "Seleccione un Pais..."
dr("Id_Pais") = 0
dt.Rows.InsertAt(dr, 0)
 
cboPaises.SelectedValue = 0
cboPaises.DisplayMember = "Nombre"
cboPaises.ValueMember = "Id_Pais"
cboPaises.DataSource = dt
 
Catch ex As Exception
MsgBox(ex.Message, "No se cargaron los Paises")
End Try
 
End Sub

Hasta aqui me cargan los paises, ahora lo que quisiera es que al seleccionar un pais en el combo paises se me carguen las ciudades respectivas de ese pais en el combo ciudades.

hice un stored procedure para obtener las ciudades por medio de un parametro ese parametro es el id del pais, es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE PROCEDURE SP_ListarCiudades
 
@parametroPais Int
AS
 
SELECT tCiudad.Id_Ciudad, tCiudad.Nombre
FROM tCiudad
WHERE tCiudad.Id_Pais = @parametroPais
 
 
ORDER BY tCiudad.Nombre asc
GO
 
Execute SP_ListarCiudades '22' ( '22 representa por ejemplo al id del pais = Usa)

---------------------------------------------

Resultado:

Id_Ciudad Nombre

1 Dallas

2 Florida

3 Whashington

---------------------------------------

como se haria ya en el codigo para hacer funcionar este stored procedure y que reciba como parametro el selectvalue del combo paises para que llene el combo ciudades . gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder