コード例 #1
0
        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;
        }
コード例 #2
0
        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.");
                    }
                }
            }
        }