/// <summary> /// Заполнение списков /// </summary> private void FillLists() { GenderDdl.DataSource = EnumNamesHelper.EnumToList <Genders>(); GenderDdl.DataTextField = "Text"; GenderDdl.DataValueField = "Value"; GenderDdl.DataBind(); }
/// <summary> /// Заполнение группы флажков на основе инумератора /// </summary> /// <typeparam name="T">Тип инумератора</typeparam> /// <param name="checkBoxList">Группа флажков</param> /// <param name="withoutZeroValue">Не использовать нулевое значение перечисления</param> public static void FillFromEnum <T>(this CheckBoxList checkBoxList, bool withoutZeroValue) { if (typeof(T).IsEnum) { checkBoxList.Items.Clear(); ListItem[] items = EnumNamesHelper.EnumToList <T>() .Where(i => !withoutZeroValue || i.Value.ToInt32() != 0) .ToArray(); checkBoxList.DataSource = items; checkBoxList.DataTextField = "Text"; checkBoxList.DataValueField = "Value"; checkBoxList.DataBind(); } else { throw new Exception("Параметр T должен быть инумератором"); } }
/// <summary> /// Заполнение выпадающего списка на основе инумератора /// </summary> /// <typeparam name="T">Тип инумератора</typeparam> /// <param name="dropDownList">Выпадающий список</param> /// <param name="insertNotSetValue">Вставлять нулевое значение</param> public static void FillFromEnum <T>(this DropDownList dropDownList, bool insertNotSetValue = false) { if (typeof(T).IsEnum) { dropDownList.Items.Clear(); List <ListItem> items = EnumNamesHelper.EnumToList <T>(); dropDownList.DataSource = items; dropDownList.DataTextField = "Text"; dropDownList.DataValueField = "Value"; dropDownList.DataBind(); if (insertNotSetValue && items.All(i => i.Value.NotEmpty(false))) { dropDownList.Items.Insert(0, new ListItem("Не указано", string.Empty)); } } else { throw new Exception("Параметр T должен быть инумератором"); } }