Saltar al contenido

Crear campo Dropdownlist en .NET

crear dropdownlist en .NET VB y C#


En este nuevo artículo os voy a mostrar por pasos cómo crear un campo SELECT en .NET.

dropdownlist en .NET

Para poder crear un campo de tipo SELECT (más conocido como Dropdownlist – DDL) en .NET, tenemos que añadir en nuestro fichero aspx la declaración del DDL. Para ello vamos a mostrar un listado de paises, con el valor del código ISO.

Declaración del campo DropdownList

<asp:DropDownList id="DDLPaises" AutoPostBack="False" runat="server"></asp:DropDownList>

Añadir opciones al dropdownlist de forma manual

Lo único que tendremos que hacer para rellenar el dropdownlist, es situarnos donde hemos declarado el campo en nuestro fichero aspx:

<asp:dropdownlist id="DDLPaises" autopostback="False" runat="server">
<asp:listitem value="es">España</asp:listitem>
<asp:listitem value="mx">México</asp:listitem>
<asp:listitem value="co">Colombia</asp:listitem>
</asp:dropdownlist>

Utilizaremos la etiqueta <asp:listitem> para poder añadir opciones a nuestro Dropdownlist en .NET.

Añadir opciones al dropdownlist de forma dinámica

Lo primero que tenemos que indicar en nuestro fichero aspx, es la declaración del campo vacío:

<asp:DropDownList id="DDLPaises" AutoPostBack="False" runat="server"></asp:DropDownList>

VB.NET

Para poder conectarnos a una base de datos en VB.NET, necesitamos las siguientes dependencias:

Imports System.Data.IDbDataAdapter
Imports System.Data.Dataset
Imports System.Data.SqlClient

Definimos la conexión de nuestra base de datos con el nombre del servidor, nombre de la base de datos, el usuario y la contraseña que tenemos definido en SQL Server:

Dim datosbbdd = "server=servidor-lacodigoteca;database=tienda;integrated security = true"

Ahora definimos la conexión a la base de datos, añadimos la consulta con los datos que vamos a mostrar y finalmente vamos a almacenar todos los datos en un dataset:

Dim conexionbbdd As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(datosbbdd)
Dim consultabbdd As String = "SELECT codigo,nombre FROM paises ORDER BY nombre"

Dim dbCommand As System.Data.SqlClient.SqlCommand = New System.Data.SqlClient.SqlCommand(consultabbdd)

dbCommand.Connection = conexionbbdd

Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter
dataAdapter.SelectCommand = dbCommand
Dim dataSet As System.Data.DataSet = New System.Data.DataSet
dataAdapter.Fill(dataSet)
dbConnection.Close()

Por último paso, vamos a iterar(acceder por cada registro) todos los datos del dataset y vamos creando las opciones. En DataTextField y en DataValueField tenemos que indicar los campos de la consulta SQL.

DDLPaises.DataSource = dataSet
DDLPaises.DataTextField = "nombre"
DDLPaises.DataValueField = "codigo"
DDLPaises.DataBind()

Si queremos mostrar una opción por defecto, tendremos que indicar lo siguiente:

DDLPaises.Items.Insert(0, New ListItem("Selecciona un país", 0))

Y ya tendríamos nuestro Dropdownlist en .NET dinámico con datos de nuestra BBDD.

C# (C Sharp)

Para poder conectarnos a una base de datos en C# (C Sharp), necesitamos las siguientes dependencias:

using System.Data.IDataAdapter;
using System.Data.Dataset;
using System.Data.SqlClient;

Definimos la conexión de nuestra base de datos con el nombre del servidor, nombre de la base de datos, el usuario y la contraseña que tenemos definido en SQL Server:

SqlConnectionStringBuilder datosbbdd = new SqlConnectionStringBuilder{
     DataSource = "servidor-lacodigoteca",
     UserID = "usuario",
     Password = "contrasena",
     InitialCatalog = "tienda"
};

Ahora definimos la conexión a la base de datos, añadimos la consulta con los datos que vamos a mostrar y finalmente vamos a almacenar todos los datos en un dataset:

using (SqlConnection connection = new SqlConnection(datosbbdd.ConnectionString)){

     String consultabbdd  = "SELECT codigo,nombre FROM paises ORDER BY nombre";
     using(sqlCommand cmd = new SqlCommand(consultabbdd,connection){
          connection.Open();
          SqlDataAdapter adapter = new SqlDataAdapter(consultabbdd, connection);  
  
          DataSet listPaises = new DataSet();  
          adapter.Fill(listPaises);  
     }
}
connection.Close();

Ya tenemos realizada la conexión a la BBDD y los datos almacenados en el dataset. Ahora tenemos que asignar esos datos a las opciones del Dropdownlist:

DDLPaises.DataSource = listpaises;
DDLPaises.DataTextField = "nombre";
DDLPaises.DataValueField = "codigo";
DDLPaises.DataBind();

Si queremos mostrar una opción por defecto, tendremos que indicar lo siguiente:

DDLPaises.Items.Insert(0, New ListItem("Selecciona un país", 0));

Y así es como quedaría el código completo:

using (SqlConnection connection = new SqlConnection(datosbbdd.ConnectionString)){

     String consultabbdd  = "SELECT codigo,nombre FROM paises ORDER BY nombre";
     using(sqlCommand cmd = new SqlCommand(consultabbdd,connection){
          connection.Open();
          SqlDataAdapter adapter = new SqlDataAdapter(consultabbdd, connection);  
  
          DataSet listPaises = new DataSet();  
          adapter.Fill(listPaises); 
          DDLPaises.DataSource = listpaises;
          DDLPaises.DataTextField = "nombre";
          DDLPaises.DataValueField = "codigo";
          DDLPaises.DataBind();

          connection.Close();
     }
}

¿Te ha resultado útil el artículo?

Te recomiendo que realices una visita por la sección de .NET o si necesitas consultas más complejas, pásate por la sección de SQL.

Espero que te sirva de ayuda. Si se puede mejorar el código, por favor, escríbenos un comentario y lo adaptamos para que tengamos los mejores ejemplos 😉

Deja una respuesta

Tu dirección de correo electrónico no será publicada.