protected override object OnBackgroundWorkerWorking() { DSResponse d1 = JHSchool.Feature.Legacy.Config.GetMoralDiffItemList(); decimal tsLimit = 0; try { tsLimit = JHSchool.Feature.Legacy.Config.GetSupervisedRatingRange(); } catch { tsLimit = 0; } DSXmlHelper helper = new DSXmlHelper("Request"); helper.AddElement("Field"); helper.AddElement("Field", "All"); helper.AddElement("Condition"); helper.AddElement("Condition", "RefStudentID", RunningID); helper.AddElement("Order"); helper.AddElement("Order", "SchoolYear"); helper.AddElement("Order", "Semester"); DSResponse d2 = JHSchool.Feature.Legacy.QueryScore.GetSemesterMoralScore(new DSRequest(helper)); BackGroundInfo info = new BackGroundInfo(d1, d2, tsLimit); helper = JHSchool.Feature.Legacy.Config.GetMoralCommentCodeList().GetContent(); foreach (XmlElement element in helper.GetElements("Morality")) { string code = element.GetAttribute("Code"); string comment = element.GetAttribute("Comment"); info.CommonList.Add(code, comment); } return(info); }
protected override void OnBackgroundWorkerCompleted(object result) { _initFinished = false; _deletedRowID = new Dictionary <string, string>(); dataGridViewX1.Rows.Clear(); dataGridViewX1.Columns.Clear(); int columnIndex; //DataGridViewColumn col; columnIndex = dataGridViewX1.Columns.Add(colSchoolYear); //col = dataGridViewX1.Columns[columnIndex]; //col.Width = 80; columnIndex = dataGridViewX1.Columns.Add(colSemester); //col = dataGridViewX1.Columns[columnIndex]; //col.Width = 60; columnIndex = dataGridViewX1.Columns.Add(colTB); //col = dataGridViewX1.Columns[columnIndex]; //col.Width = 125; columnIndex = dataGridViewX1.Columns.Add(colTT); //col = dataGridViewX1.Columns[columnIndex]; //col.Width = 100; BackGroundInfo info = result as BackGroundInfo; _tsLimit = info.Limit; _commentList = info.CommonList; DSXmlHelper helper = info.MoralList.GetContent(); int index = 0; foreach (XmlElement element in helper.GetElements("DiffItem")) { string name = element.GetAttribute("Name"); System.Windows.Forms.DataGridViewTextBoxColumn newCol = new System.Windows.Forms.DataGridViewTextBoxColumn(); newCol.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader; newCol.HeaderText = name; newCol.MinimumWidth = 45; newCol.Name = "colItem" + index; newCol.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; dataGridViewX1.Columns.Add(newCol); index++; } colTT.DisplayIndex = dataGridViewX1.Columns.Count - 1; _addedRows = new List <string>(); _valueManager.AddValue(ADD_ROW_COUNT, "0"); helper = info.ScoreList.GetContent(); _valueManager.AddValue(ORI_ROW_COUNT, helper.GetElements("SemesterMoralScore").Length.ToString()); foreach (XmlElement element in helper.GetElements("SemesterMoralScore")) { int rowIndex = dataGridViewX1.Rows.Add(); DataGridViewRow row = dataGridViewX1.Rows[rowIndex]; DataGridViewCell c; string schoolYear = element.SelectSingleNode("SchoolYear").InnerText; string semester = element.SelectSingleNode("Semester").InnerText; string key; c = row.Cells[colSchoolYear.Name]; c.Value = schoolYear; c.Tag = schoolYear; key = VALUE_KEY.Replace("SchoolYear", schoolYear).Replace("Semester", semester).Replace("ColumnText", colSchoolYear.HeaderText); _valueManager.AddValue(key, c.Value.ToString()); c.ReadOnly = true; c = row.Cells[colSemester.Name]; c.Value = element.SelectSingleNode("Semester").InnerText; c.Tag = element.SelectSingleNode("Semester").InnerText; key = VALUE_KEY.Replace("SchoolYear", schoolYear).Replace("Semester", semester).Replace("ColumnText", colSemester.HeaderText); _valueManager.AddValue(key, c.Value.ToString()); c.ReadOnly = true; c = row.Cells[colTB.Name]; c.Value = element.SelectSingleNode("SupervisedByDiff").InnerText; c.Tag = element.SelectSingleNode("SupervisedByDiff").InnerText; key = VALUE_KEY.Replace("SchoolYear", schoolYear).Replace("Semester", semester).Replace("ColumnText", colTB.HeaderText); _valueManager.AddValue(key, c.Value.ToString()); c.ReadOnly = false; c = row.Cells[colTT.Name]; c.Value = element.SelectSingleNode("SupervisedByComment").InnerText; c.Tag = element.SelectSingleNode("SupervisedByComment").InnerText; key = VALUE_KEY.Replace("SchoolYear", schoolYear).Replace("Semester", semester).Replace("ColumnText", colTT.HeaderText); _valueManager.AddValue(key, c.Value.ToString()); c.ReadOnly = false; RecordInfo rinfo = new RecordInfo(); rinfo.IsAddedRow = false; rinfo.ID = element.GetAttribute("ID"); row.Tag = rinfo; foreach (XmlNode node in element.SelectNodes("OtherDiffList/OtherDiff")) { string name = node.SelectSingleNode("@Name").InnerText; foreach (DataGridViewColumn column in dataGridViewX1.Columns) { if (column.HeaderText != name) { continue; } c = row.Cells[column.Name]; c.Value = node.InnerText; c.Tag = node.InnerText; key = VALUE_KEY.Replace("SchoolYear", schoolYear).Replace("Semester", semester).Replace("ColumnText", column.HeaderText); _valueManager.AddValue(key, c.Value.ToString()); c.ReadOnly = false; } } } _initFinished = true; }