Foros del Web » Programación para mayores de 30 ;) » .NET »

Dropdownlist error en value

Estas en el tema de Dropdownlist error en value en el foro de .NET en Foros del Web. Hola foros del web!! hoy tengo les cuento que estoy haciendo un sitio web en el que utilizo un dropdownlist el cuallleno con datos desde ...
  #1 (permalink)  
Antiguo 04/12/2009, 09:23
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Dropdownlist error en value

Hola foros del web!!
hoy tengo les cuento que estoy haciendo un sitio web en el que utilizo un dropdownlist el cuallleno con datos desde oracle y todo va bien hasta ahi, necesito que al seleccionarlo me tome el valor del "value" no del "text"
por ejemplo lo lleno con ciudades y queda asi:
value - ciudad
10 medellin
11 cali
12 pasto
Lo que pasa es que cuando selecciono un valor siempre me toma solo el text osea medellin y no el value osea 10 que es lo que necesito.

de esta forma lleno el dropdownlist:
cl_reglas.csMatricula csMat = new cl_reglas.csMatricula();
DataTable tbCiudades = new DataTable();
csMat.StrCodCiudad = "";

tbCiudades = csMat.fnCiudadesConsultar();

//limpia lista de archivos
ddlCiudad.Items.Clear();
foreach ( DataRow drCiudades in tbCiudades.Rows )
{
ddlCiudad.Items.Add( drCiudades[ "DS_MUNICIPIO" ].ToString() );
ddlCiudad.DataValueField = drCiudades[ "CD_MUNICIPIO" ].ToString();
}


luego de esta forma intento tomar el value:

protected void ddlCiudad_SelectedIndexChanged( object sender, EventArgs e )
{
if ( Page.IsPostBack )
{
strcodCiu = ddlCiudad.SelectedValue.ToString();
}
}

Aclaro que obviamente el autopostback esta en true.
y que estoy trabajando con aspnet en c#.

de antemano muchas gracias por su colaboracion,
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #2 (permalink)  
Antiguo 07/12/2009, 18:09
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Dropdownlist error en value

Saludos... oie una PRegunta??. cuando instancias el DataTable tbCiudades al inicio es nulo vdd.. y despues toma el valor de que?... un DataSet o DataTable.. me refiero a:

tbCiudades = csMat.fnCiudadesConsultar();

que es lo que te arroja?? un DataTable..

porque en todo caso... si es así.. pues ya tienes el DataTable al cual le vas hacer el Enlace.. todo lo que tienes que hacer es:

Código EJEMPLO::
Ver original
  1. ddlCiudad.DataSource = tbCiudades.defaultView;
  2. ddlCiudad.DataValueField = "CD_MUMINICIPIO";
  3. ddlCiudad.DataTextFlied = "DS_MUNICIPIO";
  4. ddlCiudad.DataBind();

y listo. ya tienes el Valor y el Texto mostrados en el DDowList... enlazado con la Tabla que creaste.. me supongo que CD_MUNICIPIO y DS_MUNICIPIO son nombres de los campos que corresponden a dicha TABLA..

Espero que Te haya Sido de utilidad... si es así.. se recibe KARMA.. si tienes duda.. ya sabes..

ATTE. yo.
__________________
Si caminas por la Senda del Conocimiento... y una Luz en la Oscuridad Ilumina tu Camino... No seas cu#$r@ y compártela.
  #3 (permalink)  
Antiguo 07/12/2009, 18:45
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Respuesta: Dropdownlist error en value

Cita:
Iniciado por acumulador Ver Mensaje
foreach ( DataRow drCiudades in tbCiudades.Rows )
{
ddlCiudad.Items.Add( drCiudades[ "DS_MUNICIPIO" ].ToString() );
ddlCiudad.DataValueField = drCiudades[ "CD_MUNICIPIO" ].ToString();
}
No estoy seguro que asi se asigna el valor del item.

Creo que la propiedad DataValueField le indicas el Nombre del campo, de donde enlazas los datos.

Lo puedes cambiar asi:
Código:
 foreach ( DataRow drCiudades in tbCiudades.Rows )
{
    ddlCiudad.Items.Add(new ListItem(drCiudades[ "DS_MUNICIPIO" ].ToString(), drCiudades[ "CD_MUNICIPIO" ].ToString()));
}
saludos
  #4 (permalink)  
Antiguo 08/12/2009, 11:06
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Dropdownlist error en value

Cita:
Iniciado por mad249 Ver Mensaje
Saludos... oie una PRegunta??. cuando instancias el DataTable tbCiudades al inicio es nulo vdd.. y despues toma el valor de que?... un DataSet o DataTable.. me refiero a:

tbCiudades = csMat.fnCiudadesConsultar();

que es lo que te arroja?? un DataTable..

porque en todo caso... si es así.. pues ya tienes el DataTable al cual le vas hacer el Enlace.. todo lo que tienes que hacer es:

Código EJEMPLO::
Ver original
  1. ddlCiudad.DataSource = tbCiudades.defaultView;
  2. ddlCiudad.DataValueField = "CD_MUMINICIPIO";
  3. ddlCiudad.DataTextFlied = "DS_MUNICIPIO";
  4. ddlCiudad.DataBind();

y listo. ya tienes el Valor y el Texto mostrados en el DDowList... enlazado con la Tabla que creaste.. me supongo que CD_MUNICIPIO y DS_MUNICIPIO son nombres de los campos que corresponden a dicha TABLA..

Espero que Te haya Sido de utilidad... si es así.. se recibe KARMA.. si tienes duda.. ya sabes..

ATTE. yo.
Muchas gracias por tu respuesta ahora que llegue a la oficina lo pruebo.
Si tenes razon recibo de la funcion un datatable, y esos si son los campos de la tabla que deseo enlazar. de antemano muchas gracias. si me explicas como darte karma te lo doy pero no tengo idea como hacer esto.
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #5 (permalink)  
Antiguo 08/12/2009, 11:10
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Dropdownlist error en value

Cita:
Iniciado por osvier Ver Mensaje
No estoy seguro que asi se asigna el valor del item.

Creo que la propiedad DataValueField le indicas el Nombre del campo, de donde enlazas los datos.

Lo puedes cambiar asi:
Código:
 foreach ( DataRow drCiudades in tbCiudades.Rows )
{
    ddlCiudad.Items.Add(new ListItem(drCiudades[ "DS_MUNICIPIO" ].ToString(), drCiudades[ "CD_MUNICIPIO" ].ToString()));
}
saludos
Muchas gracia por tu respuesta, pero creo que como me propones lo que hago es asignar el nombre d elas ciudades y eso ya lo hago bien, lo que necesito es el codigo correspondiente a cada una. de antemano muchas gracias por tu ayuda.
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #6 (permalink)  
Antiguo 09/12/2009, 12:55
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
De acuerdo Respuesta: Dropdownlist error en value

Cita:
Iniciado por acumulador Ver Mensaje
Muchas gracias por tu respuesta ahora que llegue a la oficina lo pruebo.
Si tenes razon recibo de la funcion un datatable, y esos si son los campos de la tabla que deseo enlazar. de antemano muchas gracias. si me explicas como darte karma te lo doy pero no tengo idea como hacer esto.

Para eso estamos.. en cuanto a lo del Karma pues ni sikiera Jala el contador asi que
No te preocupes.. y lo unico que se hace es hacerle un click al simbolito de YING YANG que se encuentra debajo de los perfiles de los usuarios que comentaron el tema...

SALUDOS!!
__________________
Si caminas por la Senda del Conocimiento... y una Luz en la Oscuridad Ilumina tu Camino... No seas cu#$r@ y compártela.
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 12:48.