Пример #1
0
        public static IEnumerable <EnumDataSourceItem> GetItemListByDescription(Type enumType, ListItemSortType sortType)
        {
            List <EnumDataSourceItem> items = new List <EnumDataSourceItem>();

            // get the names from the enumeration
            string[] names = Enum.GetNames(enumType);
            // get the values from the enumeration
            Array values = Enum.GetValues(enumType);

            for (int i = 0; i < names.Length; i++)
            {
                EnumDataSourceItem item = new EnumDataSourceItem();
                item.value = (int)values.GetValue(i);
                //item.key = names[i];
                item.key       = DevelopmentBase.Common.EnumDescription((Enum)values.GetValue(i));
                item.isPrivate = DevelopmentBase.Common.EnumIsPrivate((Enum)values.GetValue(i));
                items.Add(item);
            }
            if (sortType == ListItemSortType.ByTextIncreasing)
            {
                var returnList = from i in items orderby i.key ascending select i;
                return(returnList);
            }
            else if (sortType == ListItemSortType.ByTextDecreasing)
            {
                var returnList = from i in items orderby i.key descending select i;
                return(returnList);
            }
            else if (sortType == ListItemSortType.ByValueIncreasing)
            {
                var returnList = from i in items orderby i.key ascending select i;
                return(returnList);
            }
            else if (sortType == ListItemSortType.ByValueDecreasing)
            {
                var returnList = from i in items orderby i.key descending select i;
                return(returnList);
            }
            else
            {
                var returnList = from i in items select i;
                return(returnList);
            }
        }
Пример #2
0
 public static void BindToDropDownFromDescriptions(ref System.Web.UI.WebControls.DropDownList ddl, Type enumType, ListItemSortType sortType)
 {
     ddl.DataSource     = GetItemListByDescription(enumType, sortType);
     ddl.DataTextField  = "key";
     ddl.DataValueField = "value";
     ddl.DataBind();
 }