private void HideShow(string tableHeader, string tableData) { var button = AvdelingListView.FindControl(tableHeader); var tableHeaderVisible = true; foreach (var item in AvdelingListView.Items) { if (item.ItemType == ListViewItemType.DataItem) { var control = item.FindControl(tableData); tableHeaderVisible = !control.Visible; control.Visible = tableHeaderVisible; } } button.Visible = tableHeaderVisible; }
private void BindToListView(IList <Avdeling> allAvdelinger) { var ansatte = Ansatt.GetAll().OrderBy(a => a.Navn).ToList(); var klasser = Klasse.GetAll().OrderBy(k => k.Navn).ToList(); var avdelingViewList = new List <object>(); foreach (var avdeling in allAvdelinger) { avdelingViewList.Add(new { avdeling.Id, avdeling.Navn, }); } AvdelingListView.DataSource = avdelingViewList; AvdelingListView.DataBind(); foreach (var item in AvdelingListView.Items) { if (item.ItemType == ListViewItemType.DataItem) { var idButton = (Button)item.FindControl("IdButton"); var avdelingsLederDropDown = (DropDownList)item.FindControl("AvdelingsLederDropDown"); var avdeling = allAvdelinger.First(a => a.Id.ToString() == idButton.Text); avdelingsLederDropDown.DataSource = ansatte; avdelingsLederDropDown.DataValueField = Utilities.GetPropertyName(() => avdeling.Id); avdelingsLederDropDown.DataTextField = Utilities.GetPropertyName(() => avdeling.Navn); avdelingsLederDropDown.DataBind(); if (avdeling.AvdelingsLeder != null) { avdelingsLederDropDown.SelectedValue = avdeling.AvdelingsLeder.Id.ToString(); } var ansatteListBox = (ListBox)item.FindControl("AnsatteListBox"); var ansatteTeller = 0; var ansattSelectedTeller = 0; foreach (var ansatt in ansatte) { var listItem = new ListItem(ansatt.Navn, ansatt.Id.ToString()); if (avdeling.Ansatts.Any(a => a.Id == ansatt.Id)) { listItem.Selected = true; listItem.Attributes.Add("class", WebUtilities.CSS_CLASS_DISABLED); } if (listItem.Selected) { ansatteListBox.Items.Insert(ansattSelectedTeller++, listItem); ansatteTeller++; } else { ansatteListBox.Items.Insert(ansatteTeller++, listItem); } } var klasserListBox = (ListBox)item.FindControl("KlasserListBox"); var klasseTeller = 0; var klasseSelectedTeller = 0; foreach (var klasse in klasser) { var listItem = new ListItem(klasse.Navn, klasse.Id.ToString()); if (avdeling.Klasses.Any(k => k.Id == klasse.Id)) { listItem.Selected = true; listItem.Attributes.Add("class", WebUtilities.CSS_CLASS_DISABLED); } if (listItem.Selected) { klasserListBox.Items.Insert(klasseSelectedTeller++, listItem); klasseTeller++; } else { klasserListBox.Items.Insert(klasseTeller++, listItem); } } if (avdeling.Ansatts.Count > 0 || avdeling.Klasses.Count > 0) { var deleteLinkButton = (LinkButton)item.FindControl("DeleteLinkButton"); WebUtilities.DisableLinkButton(deleteLinkButton, @"Alle ansatte og klasser må overføres til andre avdelinger før avdeling '" + avdeling.Navn + "' kan slettes."); } } } }