We can bind
DropDownList
in different ways by using
List
,
Dictionary
,
Enum
and
DataSet
.
To bind
DropDownList
, we need to set some properties:
DataSource
DataValueField
DataTextField
Let's see how to use these properties to bind
DropDownList
.
Binding DropDownList with List
In this case, the
DropDownList
both '
Value
' and '
Text
' field are same.
DropDownList ddl = new DropDownList();
List<string> countries = new List<string>();
countries.Add("USA");
countries.Add("India");
ddl.DataSource = countries;
ddl.DataBind();
Binding DropDownList with Dictionary
Dictionary<string, string> States = new Dictionary<string, string>();
States.Add("-1","-Select State-");
States.Add("AP", "Andhra Predesh");
States.Add("KA", "Karnataka");
States.Add("TN", "Tamilnadu");
States.Add("KL", "Kerala");
ddl.DataSource = States;
ddl.DataValueField = "Key";
ddl.DataTextField = "Value";
ddl.DataBind();
Binding DropDownList with DataSet
My
DataSet
contains a Class
table(class_id,class_name,description)
.
ddl.DataSource = dataset.Tables[0].DefaultView;
ddl.DataValueField = "class_id";
ddl.DataTextField = "class_name";
ddl.DataBind();
ListItem item = new ListItem("-Select Class-", "-1");
ddl.Items.Insert(0, item);
Binding DropDownList with Enum
Let’s take Countries ‘
enum
’ as follows:
enum enCountries:int{India=0,USA,UK,UAE};
Let's see how to bind the
DropDownList
With
Enum
:
ddlEnumBind.Items.Add("--Select Country--");
string[] enumNames=Enum.GetNames(typeof(enCountries));
foreach (string item in enumNames)
{
int value = (int)Enum.Parse(typeof(enCountries), item);
ListItem listItem = new ListItem(item, value.ToString());
ddlEnumBind.Items.Add(listItem);
}