private void HideShow(string tableHeader, string tableData) { var button = ElevListView.FindControl(tableHeader); var tableHeaderVisible = true; foreach (var item in ElevListView.Items) { if (item.ItemType == ListViewItemType.DataItem) { var control = item.FindControl(tableData); tableHeaderVisible = !control.Visible; control.Visible = tableHeaderVisible; } } button.Visible = tableHeaderVisible; }
private void BindToListView(IList <Elev> allElever) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); var klasser = Klasse.GetAll().OrderBy(k => k.Navn).ToList(); var sfoes = Sfo.GetAll().OrderBy(s => s.Navn).ToList(); var trinn = Trinn.GetAll().OrderBy(t => Utilities.DigitPart(t.Navn)).ToList(); var ansatte = Ansatt.GetAll().Where(a => a.StillingsType.Id == (int)StillingsTypeEnum.Pedagog).OrderBy(a => a.Navn).ToList(); var bemanningsNorm = BemanningsNorm.GetAll().OrderBy(b => b.Navn).ToList(); stopwatch.Stop(); var elevViewList = new List <object>(); foreach (var elev in allElever) { var sfoProsent = (elev.SfoProsent % 1 == 0) ? elev.SfoProsent.ToString("N0") : elev.SfoProsent.ToString("N2"); var skoleTimerPrUke = elev.Trinn != null ? elev.Trinn.UkeTimeTall : trinn.First().UkeTimeTall; elevViewList.Add(new { elev.Id, elev.Navn, skoleTimerPrUke, sfoProsent }); } ElevListView.DataSource = elevViewList; ElevListView.DataBind(); foreach (var item in ElevListView.Items) { if (item.ItemType == ListViewItemType.DataItem) { var idButton = (Button)item.FindControl("IdButton"); var elev = allElever.First(e => e.Id.ToString() == idButton.Text); var klasseDropDown = (DropDownList)item.FindControl("KlasseDropDown"); klasseDropDown.DataSource = klasser; klasseDropDown.DataValueField = Utilities.GetPropertyName(() => elev.Klasse.Id); klasseDropDown.DataTextField = Utilities.GetPropertyName(() => elev.Klasse.Navn); klasseDropDown.DataBind(); if (elev.Klasse != null) { klasseDropDown.SelectedValue = elev.Klasse.Id.ToString(); } var sfoDropDown = (DropDownList)item.FindControl("SfoDropDown"); sfoDropDown.DataSource = sfoes; sfoDropDown.DataValueField = Utilities.GetPropertyName(() => elev.Sfo.Id); sfoDropDown.DataTextField = Utilities.GetPropertyName(() => elev.Sfo.Navn); sfoDropDown.DataBind(); // Default value sfoDropDown.Items.Insert(0, new ListItem("Velg sfo", "0")); sfoDropDown.SelectedValue = elev.Sfo != null?elev.Sfo.Id.ToString() : "0"; var trinnDropDown = (DropDownList)item.FindControl("TrinnDropDown"); trinnDropDown.DataSource = trinn; trinnDropDown.DataValueField = Utilities.GetPropertyName(() => elev.Trinn.Id); trinnDropDown.DataTextField = Utilities.GetPropertyName(() => elev.Trinn.Navn); trinnDropDown.DataBind(); if (elev.Trinn != null) { trinnDropDown.SelectedValue = elev.Trinn.Id.ToString(); } var hovedPedagogDropDown = (DropDownList)item.FindControl("HovedPedagogDropDown"); hovedPedagogDropDown.DataSource = ansatte; hovedPedagogDropDown.DataValueField = Utilities.GetPropertyName(() => elev.HovedPedagog.Id); hovedPedagogDropDown.DataTextField = Utilities.GetPropertyName(() => elev.HovedPedagog.Navn); hovedPedagogDropDown.DataBind(); if (elev.HovedPedagog != null) { hovedPedagogDropDown.SelectedValue = elev.HovedPedagog.Id.ToString(); } var bemanningsNormSkoleDropDown = (DropDownList)item.FindControl("BemanningsNormSkoleDropDown"); bemanningsNormSkoleDropDown.DataSource = bemanningsNorm; bemanningsNormSkoleDropDown.DataValueField = Utilities.GetPropertyName(() => elev.BemanningsNormSkole.Id); bemanningsNormSkoleDropDown.DataTextField = Utilities.GetPropertyName(() => elev.BemanningsNormSkole.Navn); bemanningsNormSkoleDropDown.DataBind(); bemanningsNormSkoleDropDown.SelectedValue = elev.BemanningsNormSkole != null?elev.BemanningsNormSkole.Id.ToString() : ((int)BemanningsNormEnum.OneToOne).ToString(); var bemanningsNormSfoDropDown = (DropDownList)item.FindControl("BemanningsNormSfoDropDown"); bemanningsNormSfoDropDown.DataSource = bemanningsNorm; bemanningsNormSfoDropDown.DataValueField = Utilities.GetPropertyName(() => elev.BemanningsNormSfo.Id); bemanningsNormSfoDropDown.DataTextField = Utilities.GetPropertyName(() => elev.BemanningsNormSfo.Navn); bemanningsNormSfoDropDown.DataBind(); // Default value bemanningsNormSfoDropDown.Items.Insert(0, new ListItem("Velg BN", "0")); bemanningsNormSfoDropDown.SelectedValue = elev.BemanningsNormSfo != null?elev.BemanningsNormSfo.Id.ToString() : "0"; } } //stopwatch.Stop(); }