como Seleciionar un dato de un DropDownList desde una base de datos

Iniciado por jorgexl30, 5 Noviembre 2009, 15:23 PM

0 Miembros y 1 Visitante están viendo este tema.

jorgexl30

hola como estan aca nuevamente con otro problema les cuento

tengo un DropDownList lo lleno desdee una base de datos pero necesito que quede selecionado un dato que esta guardado pero no se como se hace
ojala me puedan ayudar de antemano gracias
el dato se lo paso de lo tengo en una variable

Código (vbnet) [Seleccionar]
nmprofesor = leer("Nombre_Profesor")

Dim buscar1 As Data.SqlClient.SqlDataReader
Dim consultar1 As New SqlCommand("SELECT NOMBRE FROM profesores order by nombre", conexión)
buscar1 = consultar1.ExecuteReader()
Profesor.DataSource = buscar1

Profesor.DataTextField = "NOMBRE"
Profesor.DataValueField = "NOMBRE"
Profesor.DataBind()
buscar1.Close()


:huh:

Nota del mod: con etiquetas queda más legible

Novlucker

Replay, creo que no entendí la duda XD ... hoy estoy lento XD

Llegas a llenar el DropDownList? si, pero ahora quieres obtener el valor?

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

jorgexl30

hola gracias por contestar  lleno un DropDownList   desde una tabla  tengo otra tabla con un dato guardado entonces en el formulario cuando lista el el DropDownList necesito que quede selecionado el dato que esta guardado que se supone que esta guardod en la primera tabla tambien
ojal me hallas entendido

Novlucker

. . . . . . . . . . . . . . . . . . . . . . . . . ....... No  :xD

Pero veamos si entiendo otra vez, .. tienes un dropdownlist con valores, y ahora quieres poder elegir uno de esos valores y obtener el que corresponde a otra tabla o columna de la tabla verdad?

Lo que ocurre es que necesitas hacer uso de otro contenedor SQL .. revisa SQLDataAdapter, con este "guardas" la información en memoria, y luego puedes acceder a los datos de esta como si fuera una tabla o matriz

Ej:
:http://www.onglasses.net/Default.aspx?id=1179

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

jorgexl30

jeje nop quiero hacer un selected="true"

eso quiero al llenar el  DropDownList   que me compare con una variable ycuando recorra el el DropDownList  y la encuentre me lo deje selecionado  o con el foco

hay se entiende mejor?
;-)

Novlucker

#5
Ah! :D

Código (vbnet) [Seleccionar]
dropdownlist.selectedindex = 5

Para buscar también puedes hacer uso de los métodos findbyvalue o findbytext del drop

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

jorgexl30

si hay funciono muchas gracias 

la otra duda que tengo es como se hace cuando se coloca

en el  DropDownList 

Seleccione un valor para que salga ...

de antemano mucgas gracias

Novlucker

Te refieres a que el primer valor de la lista sea "Seleccione un valor"?

Lo cargas a mano ...
Código (vbnet) [Seleccionar]
dropdownlist.items.add("Seleccione un valor")

Y cuando trabajes con cualquiera de los valores que aparece ahí, verificas que el indice no sea el 0 (primero), si es 0 lo ignoras, si es distinto de cero, haces lo que sea que tienes que hacer

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

jorgexl30

no resulta   aso lo hice


            Dim ver2 As Data.SqlClient.SqlDataReader
            Dim consultar2 As New SqlCommand("SELECT *  FROM DIAS ", conexión)
            ver2 = consultar2.ExecuteReader()
            Me.Dia1.DataSource = ver2
            Me.Dia1.items.add("Seleccione un valor")
            Me.Dia1.DataTextField = "DIAS"
            Me.Dia1.DataValueField = "VALUES"
            Me.Dia1.DataBind()
            ver2.Close()

Hadess_inf

#9
Bueno, es por eso que se debe tratar de manejar los terminos adecuados (o que lleguen a alguna similitud con lo que se desea dar a entender) cuando se hace una consulta.

Tu primer error radica en que estas llenando tu DDL(1) en el load, ademas tambien es mas que seguro que tu DDL(1) tiene activada la propiedad AutoPostBack:

sub page_load()
'codigo que llena el dropdownlist
end sub

Cada vez que tu pagina carge, tu DDL(1) capturara el origen de datos y se llenara completamente, pero ademas de llenarse tambien pondra el foco en el primer elemento, para evitar eso simplemente tienes que decirle que no lo vuelca a cargar cuando la pagina hizo postBack,

sub page_load()
if not page.ispostback then
 'codigo que llena el dropdownlist
end if
end sub

Tu segundo error radica en que no puedes establecer un origen de datos con un elemento agregado previamente (por lo menos no lo he intentado, y no creo que se pueda), lo que tienes que hacer es recorrer la tabla que contiene la consulta con un FOR, e ir agregando al combo cada elemento.

Saludos.



1* DropDownList