Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASPX (.net) (http://www.forosdelweb.com/f78/)
-   -   Valores erroneos en DropDownList (http://www.forosdelweb.com/f78/valores-erroneos-dropdownlist-575839/)

supercrash 14/04/2008 10:39

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.

jlbautista 14/04/2008 14:18

Re: Valores erroneos en DropDownList
 
Podrias poner el código de cuando llenas el DDL? Pls?

Estamos en contacto

supercrash 14/04/2008 15:42

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!

mdavila 14/04/2008 19:38

Re: Valores erroneos en DropDownList
 
Intenta asi a ver....

Me.llBarcelona.SelectedItem.Value.ToString;

Fann_Lavigne 14/04/2008 19:52

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!!

supercrash 15/04/2008 01:19

Re: Valores erroneos en DropDownList
 
Cita:

Iniciado por Fann_Lavigne (Mensaje 2363923)
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.

supercrash 15/04/2008 07:54

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.

Fann_Lavigne 15/04/2008 21:36

Re: Valores erroneos en DropDownList
 
Cita:

Iniciado por supercrash (Mensaje 2364426)
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!!:neurotico

supercrash 16/04/2008 07:41

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

Javier Santamaria 17/04/2008 05:45

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

supercrash 17/04/2008 06:14

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.

cadesa 09/05/2008 09:33

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.


La zona horaria es GMT -6. Ahora son las 05:14.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.