public static void RblFill(ref RadioButtonList rbl, object list, bool appendFirstItem = false, ListFirstItemType firstItemType = ListFirstItemType.SelectAll) { rbl.Items.Clear(); bool appDatBouItems = rbl.AppendDataBoundItems;//Запоминаем текущее значение, чтобы потом восстановить if (appendFirstItem) { rbl.AppendDataBoundItems = true; ListItem li = new ListItem(); switch (firstItemType) { case ListFirstItemType.SelectAll: li.Text = rblSelectAllText; li.Value = rblSelectAllValue; break; } rbl.Items.Add(li); } rbl.DataTextField = listDefaultDataTextField; rbl.DataValueField = listDefaultDataValueField; rbl.DataSource = list; rbl.DataBind(); if (appendFirstItem) { rbl.AppendDataBoundItems = appDatBouItems;//Восстанавливаем запомненное значение } }
/// <summary> /// /// </summary> /// <param name="ddl"></param> /// <param name="list"></param> /// <param name="appendFirstItem">Добваить нулевое значение</param> public static void DdlFill(ref DropDownList ddl, object list, bool appendFirstItem = false, ListFirstItemType firstItemType = ListFirstItemType.Nullable) { ddl.Items.Clear(); bool appDatBouItems = ddl.AppendDataBoundItems;//Запоминаем текущее значение, чтобы потом восстановить if (appendFirstItem) { ddl.AppendDataBoundItems = true; ListItem li = new ListItem(); switch (firstItemType) { case ListFirstItemType.Nullable: li.Text = ddlEmptyText; li.Value = ddlEmptyValue; break; case ListFirstItemType.SelectAll: li.Text = ddlSelectAllText; li.Value = ddlSelectAllValue; break; } ddl.Items.Add(li); } ddl.DataTextField = listDefaultDataTextField; ddl.DataValueField = listDefaultDataValueField; ddl.DataSource = list; ddl.DataBind(); if (appendFirstItem) { ddl.AppendDataBoundItems = appDatBouItems;//Восстанавливаем запомненное значение } }