Foros del Web » Programando para Internet » ASPX (.net) »

Dropdownlist asp .net

Estas en el tema de Dropdownlist asp .net en el foro de ASPX (.net) en Foros del Web. Hola a tod@s, a ver si alguien me puede hechar una manita. Tengo dos objetos dropdownlist, en el primero cargo los datos de una tabla ...
  #1 (permalink)  
Antiguo 23/12/2008, 09:16
 
Fecha de Ingreso: diciembre-2008
Mensajes: 13
Antigüedad: 15 años, 5 meses
Puntos: 0
Dropdownlist asp .net

Hola a tod@s, a ver si alguien me puede hechar una manita. Tengo dos objetos dropdownlist, en el primero cargo los datos de una tabla de una bbdd a partir de un dataset. Pongo el código en el onload de la pagina y me lo carga bien. Lo que quiero es que según el valor q escoja de este combo me rellene otro dropdownlist con una información u otra. Si pongo el codigo en el onload me lo hace bien, es decir, coge el primer valor por defecto del primer combo y a partir de ahí rellena el segundo combo con los valores que van con esta opcion. Lo que querría hacer sería, para empezar que no me saliera por defecto el primer campo de la tabla en el combo, ¿cómo podría hacer para poner el primer campo del combo en blanco y despues ya los datos del dataset a contiuación? A partir de ahi apareceria la primera posicion del combo en blanco y al desplegar podrías escoger la opcion correspondiente a los datos del dataset. Segun la opcion escogida en el combo, tendría que apararecer en el segundo combo unas opciones o otras.

Agradecería que si alguien sabe del tema me ayudara, gracias.
  #2 (permalink)  
Antiguo 23/12/2008, 11:53
Avatar de ah_puch  
Fecha de Ingreso: agosto-2005
Ubicación: Ecatepec, México
Mensajes: 180
Antigüedad: 18 años, 8 meses
Puntos: 3
Respuesta: Dropdownlist asp .net

primero cuando cargas el primer dropdownlist debe de ser algo asi:
Código:
sub page_load(byVal Sender As System.Object, ByVal e As System.EventArgs)handles MyBase.load
if page.ispostback = false then 
Drop1.Items.Add(New ListItem("", ""))
                    For x As Integer = 0 To Ds.Tables("Consulta1").Rows.Count - 1
                        Drop1.Items.Add(New ListItem(Ds.Tables("Consulta1").Rows(x)("texto a mostrar"), Ds.Tables("Consulta1").Rows(x)("valor")))
                    Next x
drop1.selectedIndex = 0
end if
end sub
esto va a hacer que cuando mandes a cargar el segundo dropdown se mantengan los valores en el primer drop
ahora para cargar el segundo drop con la info corrspondiente primero verifica que el autopostback del droplist sea TRUE

el codigo quedaria algo asi:
Código:
 Private Sub Drop2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Drop2.SelectedIndexChanged
Adapter = new SqlDataAdapter ("SELECT * FROM MiTabla where(MiCampo= " & drop1.selectedValue & " )",cnx)
Adapter.fill(Ds,"miConsulta")
cnx.close()
        With drop2
            .DataSource = ds.Tables("miConsulta").defaultView
            .DataValueField = "Valor"
            .DataTextField = "Texto a mostrar"
            .DataBind()
            .SelectedIndex = 0
        End With
    End Sub
ds.Tables.Remove("miConsulta")
espero te sirva de algo
__________________
La programacion no es un trabajo, es un Arte
http://www.purodev.blogspot.com

Última edición por ah_puch; 23/12/2008 a las 12:05
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:58.