private void HideShow(string tableHeader, string tableData) { var button = AnsattListView.FindControl(tableHeader); var tableHeaderVisible = true; foreach (var item in AnsattListView.Items) { if (item.ItemType == ListViewItemType.DataItem) { var control = item.FindControl(tableData); tableHeaderVisible = !control.Visible; control.Visible = tableHeaderVisible; } } button.Visible = tableHeaderVisible; }
private void BindToListView(IList <Ansatt> allAnsatte) { //Stopwatch stopwatch = new Stopwatch(); //stopwatch.Start(); var avdelinger = Avdeling.GetAll().OrderBy(a => a.Navn).ToList(); var stillingsTyper = StillingsType.GetAll().OrderBy(s => s.Navn).ToList(); var klasser = Klasse.GetAll().OrderBy(k => k.Navn).ToList(); var sfos = Sfo.GetAll().OrderBy(s => s.Navn).ToList(); var ansattViewList = new List <object>(); foreach (var ansatt in allAnsatte) { ansattViewList.Add(new { ansatt.Id, ansatt.Navn, ansatt.Stillingsstørrelse, ansatt.Tlfnr }); } AnsattListView.DataSource = ansattViewList; AnsattListView.DataBind(); foreach (var item in AnsattListView.Items) { if (item.ItemType == ListViewItemType.DataItem) { var idButton = (Button)item.FindControl("IdButton"); var avdelingDropDown = (DropDownList)item.FindControl("AvdelingDropDown"); var ansatt = allAnsatte.First(a => a.Id.ToString() == idButton.Text); avdelingDropDown.DataSource = avdelinger; avdelingDropDown.DataValueField = Utilities.GetPropertyName(() => ansatt.Avdeling.Id); avdelingDropDown.DataTextField = Utilities.GetPropertyName(() => ansatt.Avdeling.Navn); avdelingDropDown.DataBind(); if (ansatt.Avdeling != null) { avdelingDropDown.SelectedValue = ansatt.Avdeling.Id.ToString(); } var stillingsTypeDropDown = (DropDownList)item.FindControl("StillingsTypeDropDown"); stillingsTypeDropDown.DataSource = stillingsTyper; stillingsTypeDropDown.DataValueField = Utilities.GetPropertyName(() => ansatt.StillingsType.Id); stillingsTypeDropDown.DataTextField = Utilities.GetPropertyName(() => ansatt.StillingsType.Navn); stillingsTypeDropDown.DataBind(); if (ansatt.StillingsType != null) { stillingsTypeDropDown.SelectedValue = ansatt.StillingsType.Id.ToString(); } var jobberIKlasserListBox = (ListControl)item.FindControl("JobberIKlasserListBox"); jobberIKlasserListBox.Items.Clear(); var klasseTeller = 0; var klasseSelectedTeller = 0; foreach (var klasse in klasser) { var listItem = new ListItem(klasse.Navn, klasse.Id.ToString()); if (ansatt.JobberIKlasser.Any(k => k.Id == klasse.Id)) { listItem.Selected = true; } if (listItem.Selected) { jobberIKlasserListBox.Items.Insert(klasseSelectedTeller++, listItem); klasseTeller++; } else { jobberIKlasserListBox.Items.Insert(klasseTeller++, listItem); } } var jobberISfosListBox = (ListControl)item.FindControl("JobberISfosListBox"); jobberISfosListBox.Items.Clear(); var sfoTeller = 0; var sfoSelectedTeller = 0; foreach (var sfo in sfos) { var listItem = new ListItem(sfo.Navn, sfo.Id.ToString()); if (ansatt.JobberISfos.Any(s => s.Id == sfo.Id)) { listItem.Selected = true; } if (listItem.Selected) { jobberISfosListBox.Items.Insert(sfoSelectedTeller++, listItem); sfoTeller++; } else { jobberISfosListBox.Items.Insert(sfoTeller++, listItem); } } var avdelingsLederIAvdelinger = ansatt.AvdelingsLederIAvdelinger.Count > 0; var hovedPedagogForElever = ansatt.HovedPedagogForElever.Count > 0; if (avdelingsLederIAvdelinger || hovedPedagogForElever) { string message; if (avdelingsLederIAvdelinger) { message = @"Avdelinger hvor '" + ansatt.Navn + "' er avdelingsleder må tilordnes annen avdelingsleder før '" + ansatt.Navn + "' kan slettes."; } else { message = @"Elever som har '" + ansatt.Navn + "' som hovedpedagog må tilordnes annen hovedpedagog før '" + ansatt.Navn + "' kan slettes."; } var deleteLinkButton = (LinkButton)item.FindControl("DeleteLinkButton"); WebUtilities.DisableLinkButton(deleteLinkButton, message); } //var avdelingsLederIAvdelingerListBox = (ListBox)item.FindControl("AvdelingsLederIAvdelingerListBox"); //var avdelingTeller = 0; //foreach (var avdeling in avdelinger) //{ // var listItem = new ListItem(avdeling.Navn, avdeling.Id.ToString()); // if (ansatt.AvdelingsLederIAvdelinger.Any(a => a.Id == avdeling.Id)) // { // listItem.Selected = true; // } // avdelingsLederIAvdelingerListBox.Items.Insert(avdelingTeller++, listItem); //} //var yearsDropDownCheckBoxes = (DropDownCheckBoxes)item.FindControl("DropDownCheckBoxes1"); //var klasseTeller1 = 0; //foreach (var klasse in klasser) //{ // var listItem = new ListItem(klasse.Navn, klasse.Id.ToString()); // if (ansatt.JobberIKlasser.Any(k => k.Id == klasse.Id)) // { // listItem.Selected = true; // } // yearsDropDownCheckBoxes.Items.Insert(klasseTeller1++, listItem); //} //yearsDropDownCheckBoxes.CssClass = "form-control"; //var varslesAvAnsattDropDown = (DropDownList)item.FindControl("VarslesAvAnsattDropDown"); //varslesAvAnsattDropDown.DataSource = ansatte; //varslesAvAnsattDropDown.DataValueField = Utilities.GetPropertyName(() => ansatt.VarslesAvAnsatt.Id); //varslesAvAnsattDropDown.DataTextField = Utilities.GetPropertyName(() => ansatt.VarslesAvAnsatt.Navn); //varslesAvAnsattDropDown.DataBind(); //// Default value //varslesAvAnsattDropDown.Items.Insert(0, new ListItem("Velg varsling", "0")); //varslesAvAnsattDropDown.SelectedValue = ansatt.VarslesAvAnsatt != null ? ansatt.VarslesAvAnsatt.Id.ToString() : "0"; } } //stopwatch.Stop(); }