Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / ASP.NET

Bind Enum data to Dropdown List By Sorting

4.43/5 (4 votes)
29 Dec 2010CPOL 23.7K  
public enum DignosisOrderType
{
    All = 0,
    General = 1,
    Uveitis = 2,
    Coag = 3,
    PreOp = 4,
    Tests = 5,
    RP = 6
}

public static void BindDropDownByEnum(ref DropDownList dropDownList, Type enumDataSource)
{
    DataTable dtTemp = new DataTable();
    dtTemp.Columns.Add("ID");
    dtTemp.Columns.Add("Name");
    string[] names = Enum.GetNames(enumDataSource);
    Array values = Enum.GetValues(enumDataSource);
    for (int i = 0; i < names.Length; i++)
    {
        DataRow drTemp = dtTemp.NewRow();
        drTemp["ID"] = Convert.ToInt32((DignosisOrderType)Enum.Parse(typeof(DignosisOrderType), names[i])).ToString();
        drTemp["Name"] = names[i];
        dtTemp.Rows.Add(drTemp);
    }
    DataView dvTemp = new DataView(dtTemp);
    dvTemp.Sort = "Name";
    dropDownList.DataTextField = "Name";
    dropDownList.DataValueField = "ID";
    dropDownList.DataSource = dvTemp;
    dropDownList.DataBind();

}

Call Above Method

BindDropDownByEnum(ref DropDownList1, typeof(DignosisOrderType));

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)