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

[SOLUCIONADO] obtener valor del dropdownlist

Estas en el tema de obtener valor del dropdownlist en el foro de .NET en Foros del Web. hola; He creado un dropdownlist en el que se me cargan los datos de la tabla que le e indicado de la base de datos. ...
  #1 (permalink)  
Antiguo 12/12/2012, 06:01
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Exclamación obtener valor del dropdownlist

hola;
He creado un dropdownlist en el que se me cargan los datos de la tabla que le e indicado de la base de datos. para ello he echo lo siguiente.
codigo en aspx:
Código ASP:
Ver original
  1. <asp:DropDownList ID="ComboBoxDepartamentoLG" runat="server"
  2.             Enabled = "True" Height="25px" Width="197px" BackColor="#CCCCCC">
  3. </asp:DropDownList>

codigo en vb.net para obtener la lista:
Código vb.net:
Ver original
  1. Protected Sub cargarComboBoxLinea()
  2.         Dim conn As New SqlConnection(WebConfigurationManager.ConnectionStrings("conexion").ConnectionString)
  3.  
  4.         Dim comm1 As SqlCommand = New SqlCommand("SELECT * " & _
  5.                                                 "FROM dbo.temp_linea", conn)
  6.         Dim reader1 As New SqlDataAdapter(comm1.CommandText, conn)
  7.  
  8.         Dim ds As New DataSet
  9.  
  10.         Try
  11.  
  12.             conn.Open()
  13.  
  14.             reader1.Fill(ds)
  15.  
  16.             ComboBoxLineaLG.DataSource = ds
  17.             ComboBoxLineaLG.DataValueField = "id_linea"
  18.             ComboBoxLineaLG.DataTextField = "nombre_linea"
  19.             ComboBoxLineaLG.DataBind()
  20.  
  21.         Catch ex As Exception
  22.             MsgBox("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  23.         Finally
  24.             If conn.State = ConnectionState.Open Then
  25.                 conn.Close()
  26.                 conn.Dispose()
  27.             End If
  28.         End Try
  29.     End Sub

Cuando accedo al combo me aparece la siguiente lista:
Direccion
RRHH
SAT
Micro

He declarado un variable y lo que necesito es obtener el valor de lo que se ha seleccionado en el combobox.

He probado con SelectedItem y SelectedValue pero todo el rato me da el valor del primer objeto que esta en la lista, en este caso, seleccione lo que seleccione en el combo me da el valor 1 que es el de direccion.

por ejemplo: si selecciono SAT en vez de cogerme 3 me devuelve siempre el 1

Me podéis ayudar?
__________________
Gracias por todo;

Un saludo
  #2 (permalink)  
Antiguo 12/12/2012, 06:05
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: obtener valor del dropdownlist

Podrías poner el resultado de ejecutar directamente en la BBDD la consulta "SELECT * FROM dbo.temp_linea"?
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 12/12/2012, 06:17
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: obtener valor del dropdownlist

Cuando ejecuto en la BBDD la consulta "SELECT * FROM dbo.temp_linea me aparece lo siguiente:
Código SQL:
Ver original
  1. SELECT * FROM dbo.temp_linea
  2.  
  3. id_linea      nombre_linea
  4. 1             Cim                
  5. 2             Eolico              
  6. 3             General            
  7. 4             Hydro              
  8. 5             Soporbe hydro
__________________
Gracias por todo;

Un saludo
  #4 (permalink)  
Antiguo 12/12/2012, 07:25
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: obtener valor del dropdownlist

Hola maialenlopez, coloca el código de cómo extraes el valor del combobox. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 12/12/2012, 07:40
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: obtener valor del dropdownlist

Cita:
Iniciado por Aquaventus Ver Mensaje
Hola maialenlopez, coloca el código de cómo extraes el valor del combobox. Saludos!.
Código vb.net:
Ver original
  1. departamento = ComcoboxDept.SelectedValue
__________________
Gracias por todo;

Un saludo
  #6 (permalink)  
Antiguo 12/12/2012, 07:57
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: obtener valor del dropdownlist

Se me hace raro, pues con esa sentencia deberia funcionarte TUCOMBO.SelectedValue.
1º Muestras el código HTML de tu combo ComboBoxDepartamentoLG.
2º Muestras un método que llena el combo ComboBoxLineaLG.
3º Muestras el valor obtenido del combo ComcoboxDept.
Está bien tu lógica? Porque me estas dando distintos combos...
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Última edición por Aquaventus; 12/12/2012 a las 08:09
  #7 (permalink)  
Antiguo 12/12/2012, 08:20
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: obtener valor del dropdownlist

Cita:
Iniciado por Aquaventus Ver Mensaje
Se me hace raro, pues con esa sentencia deberia funcionarte TUCOMBO.SelectedValue.
1º Muestras el código HTML de tu combo ComboBoxDepartamentoLG.
2º Muestras un método que llena el combo ComboBoxLineaLG.
3º Muestras el valor obtenido del combo ComcoboxDept.
Está bien tu lógica? Porque me estas dando distintos combos...

Si bueno, en el código html que muestro al principio e puesto ComboBoxDepartamentoLG pero debería ser ComboBoxLineaLG y mostrar el valor indicando comboboxLinea.Selected value.

Es que tengo dos apartedos iguales y me e confundido a la hora de indicar los nombres. Perdon

Es decir, quedaría de esta forma:
1º Muestras el código HTML de tu combo ComboBoxLineaLG.
2º Muestras un método que llena el combo ComboBoxLineaLG.
3º Muestras el valor obtenido del combo ComboBoxLineaLG.
Pero comboboxLinea.Selected value no me coge el valor seleccionado del combo
__________________
Gracias por todo;

Un saludo
  #8 (permalink)  
Antiguo 12/12/2012, 08:24
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: obtener valor del dropdownlist

Cita:
Iniciado por maialenlopez Ver Mensaje
Pero comboboxLinea.Selected value no me coge el valor seleccionado del combo
Entonces no deberías cojer el valor del combo ComboBoxLineaLG en vez del comboboxLinea? Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #9 (permalink)  
Antiguo 12/12/2012, 08:39
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: obtener valor del dropdownlist

Es verdad lo tenia mal puesto, pero sigue sin obtener el valor. siempre me da 1
__________________
Gracias por todo;

Un saludo
  #10 (permalink)  
Antiguo 12/12/2012, 10:49
 
Fecha de Ingreso: octubre-2012
Ubicación: España
Mensajes: 30
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: obtener valor del dropdownlist

Has probado a poner el autopostback del dropdownlist igual a true?
  #11 (permalink)  
Antiguo 13/12/2012, 02:13
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: obtener valor del dropdownlist

hola;
Si he probado a poner autopostback = "true" y me sigue dando lo mismo, a parte de que cada vez que elijo un opción del combobox se me coloca de nuevo en la primera opción.
__________________
Gracias por todo;

Un saludo
  #12 (permalink)  
Antiguo 14/12/2012, 01:11
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: obtener valor del dropdownlist

Hola;

Voy a poner todo el código de nuevo para haber si me podéis echar una mano que es que lo necesito urgente.

Lo que necesito es, una vez que el usuario haya elegido una de las opciones del combobox, coger el valor de ese combobox.

HojaLiquidacionGastos.aspx
Código ASP:
Ver original
  1. <%@ Page Title="Hoja de Liquidacion Gastos" Language="vb" MasterPageFile="~/Site.Master" AutoEventWireup="false" CodeBehind="HojaLiquidacionGastos.aspx.vb" Inherits="HojaDeGastos.HojaLiquidacionGastos" %>
  2.  
  3. <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
  4. </asp:Content>
  5. <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
  6.     <h2>
  7.         HOJA DE LIQUIDACIÓN DE GASTOS
  8.     </h2>
  9.     <p>
  10.         DEPARTAMENTO:
  11.         <asp:DropDownList ID="ComboBoxDepartamentoLG" runat="server"
  12.             Enabled = "True" Height="25px" Width="197px" BackColor="#CCCCCC" AutoPostBack="True">
  13.         </asp:DropDownList>
  14.     </p>
  15. </asp:Content>

HojaLiquidacionGastos.aspx.vb
Código vb.net:
Ver original
  1. Imports System.Web
  2. Imports System.Web.Configuration
  3. Imports System.Data
  4. Imports System.Data.SqlClient
  5.  
  6. Public Class HojaLiquidacionGastos
  7.     Inherits System.Web.UI.Page
  8.  
  9.     Dim iva As String = "1180"
  10.  
  11.     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  12.         cargarComboBoxDepartamento()
  13.     End Sub
  14.  
  15.     Protected Sub cargarComboBoxDepartamento()
  16.         Dim conn As New SqlConnection(WebConfigurationManager.ConnectionStrings("conexion").ConnectionString)
  17.  
  18.         Dim comm1 As SqlCommand = New SqlCommand("SELECT * " & _
  19.                                                 "FROM dbo.temp_departamento", conn)
  20.         Dim reader1 As New SqlDataAdapter(comm1.CommandText, conn)
  21.  
  22.         Dim ds As New DataSet
  23.  
  24.         Try
  25.  
  26.             conn.Open()
  27.  
  28.             reader1.Fill(ds)
  29.  
  30.             ComboBoxDepartamentoLG.DataSource = ds
  31.             ComboBoxDepartamentoLG.DataValueField = "id_dept"
  32.             ComboBoxDepartamentoLG.DataTextField = "nombre_dept"
  33.             ComboBoxDepartamentoLG.DataBind()
  34.  
  35.         Catch ex As Exception
  36.             MsgBox("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  37.         Finally
  38.             If conn.State = ConnectionState.Open Then
  39.                 conn.Close()
  40.                 conn.Dispose()
  41.             End If
  42.         End Try
  43.     End Sub
  44.  
  45.     Protected Sub BtnGuardarLG_Click(ByVal sender As Object, ByVal e As EventArgs) Handles BtnGuardarLG.Click
  46.         Dim dept As Integer
  47.         dept = ComboBoxDepartamentoLG.SelectedValue
  48.     End Sub

Esto es lo que tengo en el aspx y en el aspx.vb. Si os fijais el comobobox lo tengo puesto como AutoPostBack="True". Si lo pongo a "true" por mucho que elija por ejemplo la tercera opción del combobox, una vez seleccionada se me vuelve a colocar en el combo la primera opción.

Ya no se que hacer mas.
__________________
Gracias por todo;

Un saludo
  #13 (permalink)  
Antiguo 14/12/2012, 02:13
 
Fecha de Ingreso: octubre-2012
Ubicación: España
Mensajes: 30
Antigüedad: 11 años, 6 meses
Puntos: 2
Respuesta: obtener valor del dropdownlist

Prueba a poner el autopostback a false y las sentencias donde cargas el dropdownlist las metes en un if tal que así:

Código ASP:
Ver original
  1. if (IsPostBack==false)
  2. {
  3. ComboBoxDepartamentoLG.DataSource = ds
  4. ComboBoxDepartamentoLG.DataValueField = "id_dept"
  5. ComboBoxDepartamentoLG.DataTextField = "nombre_dept"
  6. ComboBoxDepartamentoLG.DataBind()
  7. }

A ver si hay suerte. Un saludo
  #14 (permalink)  
Antiguo 14/12/2012, 02:33
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: obtener valor del dropdownlist

Cita:
Iniciado por thanos Ver Mensaje
Prueba a poner el autopostback a false y las sentencias donde cargas el dropdownlist las metes en un if tal que así:

Código ASP:
Ver original
  1. if (IsPostBack==false)
  2. {
  3. ComboBoxDepartamentoLG.DataSource = ds
  4. ComboBoxDepartamentoLG.DataValueField = "id_dept"
  5. ComboBoxDepartamentoLG.DataTextField = "nombre_dept"
  6. ComboBoxDepartamentoLG.DataBind()
  7. }

A ver si hay suerte. Un saludo

Muchas gracias thanos!!!

Así funciona perfectamente y me acabo de dar cuenta que era por que cada vez que actualizaba algo de la pagina, me iba a la funcion page_load y me cargaba todo de nuevo.

GRACIAS
__________________
Gracias por todo;

Un saludo
  #15 (permalink)  
Antiguo 14/12/2012, 02:54
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Pregunta Respuesta: obtener valor del dropdownlist

Tengo otra preguntilla mas que tiene que ver con los combobox. Una vez echo lo anterior guardo los datos en una base de datos, es decir el id del elemento seleccionado en el combobox. Ahora lo que quiero es cargar esos datos en otro aspx pero ¿como le indico al combobox que me muestre el datos guardado?

No se si me e explicado bien, si no lo e echo hacérmelo saber y lo intentare explicar mejor.

Gracias
__________________
Gracias por todo;

Un saludo
  #16 (permalink)  
Antiguo 14/12/2012, 03:56
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
De acuerdo Respuesta: obtener valor del dropdownlist

Cita:
Iniciado por maialenlopez Ver Mensaje
Tengo otra preguntilla mas que tiene que ver con los combobox. Una vez echo lo anterior guardo los datos en una base de datos, es decir el id del elemento seleccionado en el combobox. Ahora lo que quiero es cargar esos datos en otro aspx pero ¿como le indico al combobox que me muestre el datos guardado?

No se si me e explicado bien, si no lo e echo hacérmelo saber y lo intentare explicar mejor.

Gracias
Ya he conseguido obtener lo que pedía
Código vb.net:
Ver original
  1. Dim reader1 As SqlDataReader
  2. comboboxDepartamentoVRLG.SelectedItem = reader1.GetValue(0)
.

Gracias de todos modos,

Un saludo
__________________
Gracias por todo;

Un saludo
  #17 (permalink)  
Antiguo 14/12/2012, 07:18
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: obtener valor del dropdownlist

Cita:
me acabo de dar cuenta que era por que cada vez que actualizaba algo de la pagina, me iba a la funcion page_load y me cargaba todo de nuevo
Si hubieras dado esa información, la solución hubiera sido rapida.
Cita:
Tengo otra preguntilla mas que tiene que ver con los combobox.
Cuando tengas otra consulta, por favor trata de colocarlo en otro post para mantener el orden.
Saludos maialenlopez!. .
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #18 (permalink)  
Antiguo 17/12/2012, 02:10
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
De acuerdo Respuesta: obtener valor del dropdownlist

Si llego a saber que pasaba eso, ten por seguro que lo hubiera comentado para que la solución fuera mas rápida.

Gracias por todo,
__________________
Gracias por todo;

Un saludo

Etiquetas: dropdownlist, net, server, sql, vb
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 05:42.