private void PeriodAbsenceSelectionForm_Load(object sender, EventArgs e) { List <JHPeriodMappingInfo> periodList = JHSchool.Data.JHPeriodMapping.SelectAll(); List <JHAbsenceMappingInfo> absenceList = JHSchool.Data.JHAbsenceMapping.SelectAll(); List <string> absences = new List <string>(); foreach (JHAbsenceMappingInfo info in absenceList) { absences.Add(info.Name); } List <string> periods = new List <string>(); foreach (JHPeriodMappingInfo info in periodList) { periods.Add(info.Name); } foreach (JHPeriodMappingInfo info in periodList) { if (!_panels.ContainsKey(info.Type)) { // TODO: 要改… PeriodAbsencePanel panel = new PeriodAbsencePanel(info.Type, "1", _error); panel.Size = new Size(flowPanel.Size.Width - 10, panel.Size.Height); panel.AddAbsence(absences.ToArray()); _panels.Add(info.Type, panel); flowPanel.Controls.Add(panel); } } FillSetting(); }
private void PeriodAbsenceSelectionForm_Load(object sender, EventArgs e) { List <JHPeriodMappingInfo> periodList = JHSchool.Data.JHPeriodMapping.SelectAll(); List <JHAbsenceMappingInfo> absenceList = JHSchool.Data.JHAbsenceMapping.SelectAll(); List <string> absences = new List <string>(); foreach (JHAbsenceMappingInfo info in absenceList) { absences.Add(info.Name); } List <string> periodTypes = new List <string>(); foreach (JHPeriodMappingInfo info in periodList) { if (!periodTypes.Contains(info.Type)) { periodTypes.Add(info.Type); } } //核可假別(先處理) PeriodAbsencePanel panel2 = new PeriodAbsencePanel("核可假別", "1", _error); panel2.Size = new Size(flowPanel.Size.Width - 10, panel2.Size.Height); panel2.AddAbsence(absences.ToArray()); panel2.onDataChanged += new EventHandler(DataChange); _panels.Add("核可假別", panel2); flowPanel.Controls.Add(panel2); //核可節次別(先處理) // 2019/05/24 穎驊因應 [#6886][03] 國中畢業判斷,學生出缺部份母數會把不統計的節次類別計入。 項目與佳樺討論過後新增, PeriodAbsencePanel panel3 = new PeriodAbsencePanel("核可節次別", "1", _error); panel3.Size = new Size(flowPanel.Size.Width - 10, panel3.Size.Height); panel3.AddAbsence(periodTypes.ToArray()); panel3.onDataChanged += new EventHandler(DataChange); _panels.Add("核可節次別", panel3); flowPanel.Controls.Add(panel3); //統計假別 foreach (JHPeriodMappingInfo info in periodList) { if (!_panels.ContainsKey(info.Type)) { // TODO: 要改… PeriodAbsencePanel panel = new PeriodAbsencePanel("統計假別:" + info.Type, "1", _error); panel.Size = new Size(flowPanel.Size.Width - 10, panel.Size.Height); panel.AddAbsence(absences.ToArray()); _panels.Add(info.Type, panel); flowPanel.Controls.Add(panel); } } FillSetting(); }
private void DataChange(object sender, EventArgs e) { CheckBox box = sender as CheckBox; foreach (Control panel in flowPanel.Controls) { PeriodAbsencePanel p = panel as PeriodAbsencePanel; if (p == null) { continue; } foreach (Control group in p.Controls) { DevComponents.DotNetBar.Controls.GroupPanel gp = group as DevComponents.DotNetBar.Controls.GroupPanel; if (gp != null) { foreach (Control flp in gp.Controls) { FlowLayoutPanel fp = flp as FlowLayoutPanel; if (fp != null) { foreach (Control ctrl in fp.Controls) { CheckBox ch = ctrl as CheckBox; if (ch != null) { if (ch.Text == box.Text && ch.Tag + "" != "核可假別") { if (box.Checked) { ch.Checked = false; ch.Enabled = false; } else { ch.Enabled = true; } } } } } } } } } }