65.9K
CodeProject is changing. Read more.
Home

Bind Enum data to Dropdown List By Sorting

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.43/5 (4 votes)

Dec 29, 2010

CPOL
viewsIcon

23678

    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));