ASP.NET - otra de dropdownlist

 
Vista:

otra de dropdownlist

Publicado por kelly (49 intervenciones) el 14/12/2005 20:08:46
Hola a todos!!!!
Tengo una pequeña duda con respecto a un dropdownlist...
yo tengo un dropdownlist donde traigo datos de una base de datos y a partir de la seleccion de este dropdownlist se llenan unos controles cierto??
pero en este moemento solo me salen 2 items en el dropdownlist queson los que tengo en la base de datos pero cuando quiero seleccionar el primer item que es el primero que esta en la base de datos no me muestra los controles que me tiene que mostrar, es decir tengo 2 items traidos de la base de datos pero el primero que sale por defecto si lo quiero seleccionar primero no me muetsra nada pero si selecciono el segundo me muestra los controles y si vuelvo al primero ahi si me muestra los controles entonces no se cómo hacer para que en el primer pantallazo me deje seleccionar el primero que sale por defecto en el dropdownlist
a quien me pueda ayudar se lo agradezco
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

RE:otra de dropdownlist

Publicado por Diego (1 intervención) el 17/12/2005 00:29:47
hola kelly, el problema que tienes es porq seguramente estas usando el evento
SelectedIndexChanged, y cuando cargas el ddl queda seteado el indice con el primer valor. Por lo tanto cuando seleccionas el primer valor, no se llama al evento porq no se cambia de indice, en cambio al seleccionar el segundo se cambia el mismo y se llama al evento y se llenan los controles. La solucion es poner un boton q se presione luego de elegir la opcion. De esta manera cuando clickees en el boton, tomas en valor del item seleccionado en tu ddl y llenas los controles.

Espero q te sirva

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:otra de dropdownlist

Publicado por SarevoK (5 intervenciones) el 20/12/2005 15:52:23
o lo que puedes hacer tb es crear un metodo que lo llamas en el evento selectedindexchange y tambien lo llamas justo despues de que cargas el dropdownlist, aunque si no necesitas que llene los controles cuando carga el dropdownlist y solo cuando se seleccione un elemento de éste tienes que añadir un elemento en la posicion 0 del dropdown list que ademas sirve como informacion al usuario de lo que hace ese dropdown list, por ejemplo:

este metodo llena un dropdownlist que se llama dl_seccion y retorna un bool que es verdadero cuando tiene items y falsdo cuando no tiene:

private bool LlenarSeccion()
{
dl_Seccion.Items.Clear();

//conectarse y sacar los otros datos

DataSet DS_Temp = new DataSet();
BD.execSP(8, "0, 1", DS_Temp, true);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:otra de dropdownlist

Publicado por SarevoK (5 intervenciones) el 20/12/2005 16:02:40
weno en el post anterior presione tab y luego space bar y se postio sin terminar jajaj:

o lo que puedes hacer tb es crear un metodo que lo llamas en el evento selectedindexchange y tambien lo llamas justo despues de que cargas el dropdownlist, aunque si no necesitas que llene los controles cuando carga el dropdownlist y solo cuando se seleccione un elemento de éste tienes que añadir un elemento en la posicion 0 del dropdown list que ademas sirve como informacion al usuario de lo que hace ese dropdown list, por ejemplo:

este metodo llena un dropdownlist que se llama dl_seccion y retorna un bool que es verdadero cuando tiene items y falsdo cuando no tiene:

private bool LlenarSeccion()
{
dl_Seccion.Items.Clear();

DataSet DS_Temp = new DataSet();
//aqui llenas el dataset, io lo hago con una clase que llama un store procedure
BD.execSP(8, "0, 1", DS_Temp, true);

//si el data set no esta vacio
if (DS_Temp.Tables.Count != 0)
{ //aqui lleno el dropdownlist con los datos del ds
dl_Seccion.DataSource = DS_Temp;
dl_Seccion.DataTextField = "des_catego";
dl_Seccion.DataValueField = "cod_catego";
dl_Seccion.DataBind();
}
//aqui inserto en la posicion 0 un item que dice "seleccionar seccion"
//cosa que el cte sepa para que sirve ese dropdown
dl_Seccion.Items.Insert(0, new ListItem("Seleccionar Sección", " "));

//liberando memoria...
DS_Temp.Dispose();

//aqui pregunta por el numero de elemento que tiene el dropdown
//retorn verdadero si tiene mas de 1 esto sirve si tienes dropdown que llenan
//otros dropdownlist segun la opcion que se elija en el primero y si el primero
//no tiene datos, entonces no habilitas el segundo...
if (dl_Seccion.Items.Count < 2)
{
return false;
}
else
{
return true;
}
}

weno espero que te ayude, cualquier duda o comentario me puedes escribir al meil, nos vemos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar