Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASPX (.net) (http://www.forosdelweb.com/f78/)
-   -   no consigo valor DataValueField del DropDownList (http://www.forosdelweb.com/f78/no-consigo-valor-datavaluefield-del-dropdownlist-574139/)

jishu 09/04/2008 08:26

no consigo valor DataValueField del DropDownList
 
hola a todos, he buscado en el foro si alguien a tenido el mismo problema que yo pero hasta ahora no encontrado solucion, por lo que me decidi a preguntar

estoy haciendo un web form Visual basic, donde tengo un dropdownlist (REcursoDropDown)el cual lleno con un data set en procedimiento
/----
Public Sub BindRecursodrop()

Dim cntDB As New SqlConnection(cadcon)
Dim DA_Tarea As New SqlDataAdapter("SELECT RNombre+' '+RApellido+' 'AS NOMBRE, RId FROM SHP_Recursos", cntDB)
Dim DS_Tarea As New DataSet()

DA_Tarea.Fill(DS_Tarea, "SHP_Recursos")
RecursoDropDown.DataSource = DS_Tarea
RecursoDropDown.DataSource = DS_Tarea.Tables(0)
RecursoDropDown.DataTextField = DS_Tarea.Tables(0).Columns("Nombre").ColumnName.To String() '+ "," + DS_TArea.Tables(0).Columns("RApellido").ColumnName .ToString())
RecursoDropDown.DataValueField = DS_Tarea.Tables(0).Columns("RId").ColumnName.ToStr ing()
RecursoDropDown.DataBind()

End Sub
/--
Este procedimiento lo llamo en load asi
/--
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then
BindRecursodrop()
End If

End Sub
/--
no existe problemas al cargar los datos me muestra todos los de la consulta
el problema es al seleccionar un valor...se supone que debe almacenarse en el (DataValueField), pero no ocurre...lo que quiero es guardar ese valor en una tabla
por lo que asigno el resultado del dropdownlist a un textbox

Protected Sub DropDownRecurso_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownRecurso.SelectedIndexChanged
txtidrecurso.Text = RecursoDropDown.SelectedValue.ToString
do_loaddesc()
End Sub

el unico valor que obtengo siempre es 1 selecione lo que selecione en el drop
ahora,he leido que tambien se debe cambiar la propiedad autopostback a true, lo intentado tambien y tambien lo puse en false y nada

es un poquito larga la historia verdad, pero debido a mi reciente comienzo en todo lo q es .net, ando un tanto perdida, les pido algunos consejos porfavor

Apuz 09/04/2008 08:51

Re: no consigo valor DataValueField del DropDownList
 
Hola, esto te puede ayudar

DDL = dropdownList

DDL.DataSource = oDatos.Tables["Datos"]; --> DataSet
DDL.DataValueField = "identificador de tu consulta SQL"; --> en tu caso "Nombre"
DDL.DataTextField = "glosa de tu consulta SQL"; en tu caso "RId"
DDL.DataBind();

Esta en C# Pero es lo "mismo".

Ojala se entienda.

Saludos

jishu 09/04/2008 09:18

Re: no consigo valor DataValueField del DropDownList
 
grcias por tu ayuda Apuz... no importa que este en C# igual es codigo de programacion, pero ya hice eso...y tengo el mismo problema siempre devuelve el valor 1
en este caso
txtidrecurso.Text = RecursoDropDown.SelectedItem.Value
de esta forma tambien
txtidrecurso.Text = RecursoDropDown.SelectedValue.ToString

Apuz 09/04/2008 09:27

Re: no consigo valor DataValueField del DropDownList
 
Verificaste la consulta ??? si es así y la consulta funciona, entonces dale a la propiedad DDL.DataTextValue el atributo "RId". y visualiza lo que sucede.

Me cuentas.

Saludos

jishu 09/04/2008 09:55

Re: no consigo valor DataValueField del DropDownList
 
gracias por tu interes Apuz, te cuento que resolvi el problema... creo que por ser inexperta no supe explicarme muy bien y me estaba ahogando en un vaso de agua..jejejeje, pero lo cierto es que la consulta funciona muy bien y el valor del datavaluefield estaba bien asignado por el RId (en mi caso).
El problema era con el valor que siempre obtenia de la seleccion que hacia en el dropdownlist ya cargado por la consulta, aca
(txtidrecurso.Text = RecursoDropDown.SelectedValue.ToString) siempre era 1
El problema era la ubicacion esta linea de codigo debe ser colocada despues de cargar el dropdownlist en el page_load , yo lo coloque en el sub dropdownlist_SelectedIndexChanged

de cualquier forma gracias


La zona horaria es GMT -6. Ahora son las 08:20.

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