private void BindToListView(IList <StillingsType> allStillingsTyper) { var ansatte = Ansatt.GetAll().OrderBy(a => a.Navn).ToList(); var stillingsTypeViewList = new List <object>(); foreach (var klasse in allStillingsTyper) { stillingsTypeViewList.Add(new { klasse.Id, klasse.Navn, klasse.TimerElevarbeid, klasse.TimerSamarbeid }); } StillingsTypeListView.DataSource = stillingsTypeViewList; StillingsTypeListView.DataBind(); foreach (var item in StillingsTypeListView.Items) { if (item.ItemType == ListViewItemType.DataItem) { var idButton = (Button)item.FindControl("IdButton"); var stillingsType = allStillingsTyper.First(s => s.Id.ToString() == idButton.Text); var ansatteListBox = (ListBox)item.FindControl("AnsatteListBox"); var ansattTeller = 0; var ansattSelectedTeller = 0; foreach (var ansatt in ansatte) { var listItem = new ListItem(ansatt.Navn, ansatt.Id.ToString()); if (stillingsType.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); ansattTeller++; } else { ansatteListBox.Items.Insert(ansattTeller++, listItem); } } if (stillingsType.Ansatts.Count > 0) { var deleteLinkButton = (LinkButton)item.FindControl("DeleteLinkButton"); WebUtilities.DisableLinkButton(deleteLinkButton, @"Alle ansatte må overføres til andre stillingstyper før stillingstype '" + stillingsType.Navn + "' kan slettes."); } } } }
private void HideShow(string tableHeader, string tableData) { var button = StillingsTypeListView.FindControl(tableHeader); var tableHeaderVisible = true; foreach (var item in StillingsTypeListView.Items) { if (item.ItemType == ListViewItemType.DataItem) { var control = item.FindControl(tableData); tableHeaderVisible = !control.Visible; control.Visible = tableHeaderVisible; } } button.Visible = tableHeaderVisible; }