15/02/2006, 03:48
|
| | Fecha de Ingreso: marzo-2003
Mensajes: 85
Antigüedad: 21 años, 10 meses Puntos: 1 | |
Hola imanol22
lo que deberías de hacer es a la hora de cargar las familias añadir una condición para que sólo se seleccionen aquellas del tipo que seleccionaste en el primer dropdownlist
Sub llenar_familia()
Dim dr As SqlClient.SqlDataReader
Dim cmd As SqlClient.SqlCommand
Dim str As String
Dim sql As String
str = "server=(local);database=TECNIPESA;trusted_connect ion=yes"
cn = New SqlClient.SqlConnection(str)
sql = "Select distinct kcRUT_FAMILIA from RUTAS Where kcRUT_TIPO=" & ddlist.SelectedItem.Text()
cmd = New SqlClient.SqlCommand(sql, cn)
cn.Open()
dr = cmd.ExecuteReader()
While dr.Read()
ddlist2.Items.Add(New ListItem(dr.Item("kcRUT_FAMILIA")))
End While
End Sub
Luego capturar del evento del primer dropdownlist cuando cambia la selección y ahí mandar cargar de nuevo el segundo dropdownlist
Private Sub ddlist_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ddlist.SelectedIndexChanged
llenar_familia()
End Sub
Otro pequeño consejo es que no llenes los dropdownlist recorriendo el datareader, sino: dr = cmd.ExecuteReader()
ddlist2.DataSource=dr
ddlist2.DataTextField="kcRUT_FAMILIA"
'ddlist2.DataValueField="" <-- el que corresponda si procede
ddlist2.DataBind()
Espero que todo esto te sirva y te funcione.
Un saludo |