¿Cómo llenar un DropDownList desde una Base de datos?

El control DropDownList de servidor Web permite a los usuarios seleccionar uno o varios elementos de una lista predefinida. La lista de elementos permanece oculta hasta que los usuarios hacen clic en el botón desplegable. Además, el control DropDownList no admite el modo de selección múltiple.

Elementos de Lista

En realidad, el control DropDownList es un contenedor para los elementos de lista de tipo ListItem. Cada objeto ListItem constituye un objeto independiente con sus propiedades específicas. Estas propiedades son:

  • Text: Especifica el texto que aparece en la lista.
  • Value: Contiene el valor que está asociado con un elemento. Al establecer esta propiedad, puede asociar un valor a un elemento específico sin mostrarlo. Por ejemplo, puede establecer la propiedad Text en el nombre de un estado de EE.UU. y la propiedad Value, en su abreviatura postal.
  • Selected: Indica si el elemento se ha seleccionado mediante un valor booleano.

Enlazar datos al control

Podemos enlazaar un control DropDowList de servidor web hacia un origen de datos. Cada elemento del control corresponde a un elemento que habitualmente es una fila, del origen de datos.

 

Para llenarlo hacemos lo siguiente:

Private Sub Llenar_Lista()
  ' CREAMOS NUESTRO ELEMENTO CONNCTION PARA TENER ACCESO A LA BASE DE DATOS
  Dim dbCon As New System.Data.OleDb.OleDbConnection("CADENA DE CONEXION HACIA SQL SERVER")
 
  Try
    'ABRIMOS LA CONEXION HACIA SQL
    If dbCon.State = ConnectionState.Closed Then
      dbCon.Open()
    End If
 
    Dim SQL As String = String.Empty
 
    SQL = "Select codigo,descripcion From Producto"
 
    'RECUPERAMOS LOS DATOS DESDE SQL
    Dim da As New System.Data.OleDb.OleDbDataAdapter(SQL, dbCon)
    'CREAMOS UN DATATABLE
    Dim dt As New DataTable("NOMBRE_DEL_DATATABLE")
    'LLENAMOS EL DATATABLE
    da.Fill(dt)
 
    Me.ddlLista.DataSource = dt
    Me.ddlLista.DataValueField = "codigo" 'Valor Oculto
    Me.ddlLista.DataTextField = "descripcion" 'Valor a Mostrar
    Me.ddlLista.DataBind()
    Me.ddlLista.Items.Insert(0, New ListItem("Seleccione...", String.Empty))
 
    'LIMPIAMOS LA MEMORIA DEL SERVIDOR
    dt.Dispose()
 
  Catch ex As Exception
    'CAPTRAR MENSAJE DE ERROR
 
  Finally
    If dbCon.State = ConnectionState.Open Then
      dbCon.Close()
    End If
 
  End Try
End Sub

Evento del control DropDownList

El control DropDownList desencadena un evento SelectedIndexChanged cuando los usuarios seleccionan un elemento. De forma predeterminada, este evento no envía la página al servidor, aunque es posible forzar el envío inmediato si se establece la propiedad AutoPostBack en true.

Suscribir
Notificar a
guest
2 Comentarios
Comentarios en línea
Ver todos los comentarios
dbd@frr.com

me dice que ds no esta declarada