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

Valores erroneos en DropDownList

Estas en el tema de Valores erroneos en DropDownList en el foro de ASPX (.net) en Foros del Web. Holas A ver, tengo en una página .aspx un DropDownList y mediante codigo VB cargo en el datos de una tabla de una base de ...
  #1 (permalink)  
Antiguo 14/04/2008, 10:39
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 234
Antigüedad: 21 años, 5 meses
Puntos: 0
Valores erroneos en DropDownList

Holas

A ver, tengo en una página .aspx un DropDownList y mediante codigo VB cargo en el datos de una tabla de una base de datos. Hasta aqui todo correcto.

El problema viene porque tengo que guardar lo que se seleccione en dicho DropDownList en otra tabla, pero no me coge el valor que se selecciona correctamente.

Si uso la propiedad SelectedValue (Por ejemplo: Me.llBarcelona.SelectedValue.ToString; llBarcelona es el nombre identificador del DropDownList), en teoría me tendría que cojer el valor del item seleccionado, pero siempre me coje el mismo (no necesariamente es el primer valor de la base de datos, quiero decir que coge un valor al azar, creo), seleccione lo que seleccione.

No se que puedo hacer, llevo muchos dias intentando encontrar la solucion pero no hay manera.

Agradecería cualquier tipo de ayuda ya que es un tema para el trabajo.

Muchas gracias.

Última edición por supercrash; 14/04/2008 a las 10:48
  #2 (permalink)  
Antiguo 14/04/2008, 14:18
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Valores erroneos en DropDownList

Podrias poner el código de cuando llenas el DDL? Pls?

Estamos en contacto
  #3 (permalink)  
Antiguo 14/04/2008, 15:42
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 234
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Valores erroneos en DropDownList

Mañana por la tarde, cuando vuelva al trabajo sin falta, pongo todo el codigo aquí.

Muchas gracias por la ayuda!
  #4 (permalink)  
Antiguo 14/04/2008, 19:38
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Re: Valores erroneos en DropDownList

Intenta asi a ver....

Me.llBarcelona.SelectedItem.Value.ToString;
  #5 (permalink)  
Antiguo 14/04/2008, 19:52
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Re: Valores erroneos en DropDownList

Kreo ke es por ke estas llenando tu DropDown en el Load sin estar dentro de una kondicion de If Page.IsPostBack = False Then.

Estoy 99% seguro ke es por eso, de todos modos pon el kodigo jeje!!
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #6 (permalink)  
Antiguo 15/04/2008, 01:19
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 234
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Valores erroneos en DropDownList

Cita:
Iniciado por Fann_Lavigne Ver Mensaje
Kreo ke es por ke estas llenando tu DropDown en el Load sin estar dentro de una kondicion de If Page.IsPostBack = False Then.

Estoy 99% seguro ke es por eso, de todos modos pon el kodigo jeje!!
Si que está en el load, y si que no hay una condición If Page.IsPostBack = False Then

Cuando llegue al trabajo esta tarde lo pruebo y a ver.

Gracias por las últimas dos respuestas.
  #7 (permalink)  
Antiguo 15/04/2008, 07:54
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 234
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Valores erroneos en DropDownList

Pues era lo de If Page.IsPostBack = False Then

Aunque ahora solo me muestra el valor que tiene el campo seleccionado en la base de datos (el ID) y no me muestra el nombre de la población... he probado con varias formas del SelectedValue, del SelectedIndex y del SelectedItem y nada.

Lleno la DDL así:

Primero creo el DataSet (dsBarcelona) y el DataTable , lleno el DataSet con los registros que quiero mostrar en la DropDownList:
dsBarcelona = NombreProyecto.DataAccess.GetPoblaciones(8)
dtBarcelona = dsBarcelona.Tables("Poblaciones")

Despues hago lo siguiente:

If Page.IsPostBack = False Then
If dtBarcelona.Rows.Count > 0 Then
Me.llBarcelona.DataSource = dtBarcelona
Me.llBarcelona.DataValueField = dtBarcelona.Columns("PoblacionID").ToString()
Me.llBarcelona.DataTextField = dtBarcelona.Columns("Poblacion").ToString()
Me.llBarcelona.DataBind()
End If
End If

Todo esto en el load.

Última edición por supercrash; 15/04/2008 a las 09:47
  #8 (permalink)  
Antiguo 15/04/2008, 21:36
Avatar de Fann_Lavigne  
Fecha de Ingreso: diciembre-2004
Mensajes: 622
Antigüedad: 19 años, 4 meses
Puntos: 12
Re: Valores erroneos en DropDownList

Cita:
Iniciado por supercrash Ver Mensaje
Pues era lo de If Page.IsPostBack = False Then

Aunque ahora solo me muestra el valor que tiene el campo seleccionado en la base de datos (el ID) y no me muestra el nombre de la población... he probado con varias formas del SelectedValue, del SelectedIndex y del SelectedItem y nada.

Lleno la DDL así:

Primero creo el DataSet (dsBarcelona) y el DataTable , lleno el DataSet con los registros que quiero mostrar en la DropDownList:
dsBarcelona = NombreProyecto.DataAccess.GetPoblaciones(8)
dtBarcelona = dsBarcelona.Tables("Poblaciones")

Despues hago lo siguiente:

If Page.IsPostBack = False Then
If dtBarcelona.Rows.Count > 0 Then
Me.llBarcelona.DataSource = dtBarcelona
Me.llBarcelona.DataValueField = dtBarcelona.Columns("PoblacionID").ToString()
Me.llBarcelona.DataTextField = dtBarcelona.Columns("Poblacion").ToString()
Me.llBarcelona.DataBind()
End If
End If

Todo esto en el load.
solo has lo sig:

Código:
If Page.IsPostBack = False Then
      with        Me.llBarcelona
               .DataSource = dsBarcelona.Tables("Poblaciones") 'No es necesario ke lo pases a un dt
               .DataValueField="PoblacionID" 'Solo indikas la kolumna, no konviertas
                .DataTextField ="Poblacion" 'Lo mismo
                  .DataBind()
      end with
End If
Listo, esto debera funcionar, sino, te devolvemos tu dinero jejeje!!
__________________
"Entre Mas Brillante Es Una Mente, Tiene Que Luchar Contra Demonios Internos Mas Poderosos"
[email protected]
  #9 (permalink)  
Antiguo 16/04/2008, 07:41
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 234
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Valores erroneos en DropDownList

Solucionado.

Lo que he hecho al final es lo más garrulo que me ha surgido xD

En vez de poner:

Me.llBarcelona.DataValueField = "PoblacionID"
Me.llBarcelona.DataTextField = "Poblacion"

He puesto:

Me.llBarcelona.DataValueField = "Poblacion"
Me.llBarcelona.DataTextField = "Poblacion"

Y funciona xD

Muchas gracias a todos por la ayuda!

Un saludo
  #10 (permalink)  
Antiguo 17/04/2008, 05:45
Avatar de Javier Santamaria  
Fecha de Ingreso: julio-2007
Mensajes: 296
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Valores erroneos en DropDownList

Pero ahora no podras acceder al ID si lo necesitas. Si simplemente te hace falta el nombre de la poblacion bien ,pero si no te conviene intentar lo que te dice fann_lavigne
  #11 (permalink)  
Antiguo 17/04/2008, 06:14
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 234
Antigüedad: 21 años, 5 meses
Puntos: 0
Re: Valores erroneos en DropDownList

Ya probé lo que me dijo Fann_Lavigne y tampoco me funcionaba.

De todas formas el ID, de momento, no lo necesito para nada, por lo que me sirve el apaño que hice.
  #12 (permalink)  
Antiguo 09/05/2008, 09:33
Avatar de cadesa  
Fecha de Ingreso: septiembre-2007
Ubicación: Guatemala
Mensajes: 130
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Valores erroneos en DropDownList

mira yo lo hago de esta forma:

declaro 2 dropdownlist (ddl), uno en donde cargo los datos o la descripción y otro donde cargo los códigos el ddl donde estan los códigos lo tengo oculto para que el usuario no lo vea , luego en el selectedindex_changed del ddl le doy:

ddlcodigo.selectedindex = ddldescripcion.selectedindex

y ahi ya se sincroniza la información y para hacer inserts utilizó el ddlcodigo.selectedvalue.tostring()

Saludos.
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 13:01.