In this article I will explain with an example, how to disable an item (option) i.e.
make not Selectable in ASP.Net DropDownList using C# and VB.Net.
Database
I have made use of the following table Customers with the schema as follows.
I have already inserted few records in the table.
Note: You can download the database table SQL by clicking the download link below.
HTML Markup
The HTML Markup consists of an ASP.Net DropDownList which will be populated from database.
<asp:DropDownList ID = "ddlCustomers" runat="server">
</asp:DropDownList>
Namespaces
You will need to import the following namespaces.
C#
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
VB.Net
Imports System.Data
Imports System.Configuration
Imports System.Data.SqlClient
Disable DropDownList Item (Option) in ASP.Net
Once the records from database are populated, a default item (option) is inserted at the first position and is marked as Selected. Finally the default item (option) is disabled (not selectable) by adding HTML disabled attribute.
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT CustomerId, Name FROM Customers"))
{
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
ddlCustomers.DataSource = cmd.ExecuteReader();
ddlCustomers.DataTextField = "Name";
ddlCustomers.DataValueField = "CustomerId";
ddlCustomers.DataBind();
con.Close();
}
}
//Add a default item at first position.
ddlCustomers.Items.Insert(0, new ListItem("Please select", ""));
//Set the default item as selected.
ddlCustomers.Items[0].Selected = true;
//Disable the default item.
ddlCustomers.Items[0].Attributes["disabled"] = "disabled";
}
}
VB.Net
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
Using con As New SqlConnection(constr)
Using cmd As New SqlCommand("SELECT CustomerId, Name FROM Customers")
cmd.CommandType = CommandType.Text
cmd.Connection = con
con.Open()
ddlCustomers.DataSource = cmd.ExecuteReader()
ddlCustomers.DataTextField = "Name"
ddlCustomers.DataValueField = "CustomerId"
ddlCustomers.DataBind()
con.Close()
End Using
End Using
'Add a default item at first position.
ddlCustomers.Items.Insert(0, New ListItem("Please select", ""))
'Set the default item as selected.
ddlCustomers.Items(0).Selected = True
'Disable the default item.
ddlCustomers.Items(0).Attributes("disabled") = "disabled"
End If
End Sub
Screenshot
Demo
Downloads