private void cbxQuizName_SelectedIndexChanged(object sender, EventArgs e) { foreach (DAO.UDT_QuizDef data in _AllQuiz.Where(x => x.QuizName == cbxQuizName.Text)) { _qdd = data; } ReLoadQuizFieldNameList(); dgQuizData.Rows.Clear(); int rowIdx = 0; dgQuizData.Columns[colDataField.Index].ReadOnly = false; // 依試別欄位順序排序 foreach (DAO.SortData1 data in _quizFieldNameList) { rowIdx = dgQuizData.Rows.Add(); dgQuizData.Rows[rowIdx].Cells[colDataField.Index].Value = data.Name; } dgQuizData.Columns[colDataField.Index].ReadOnly = true; _LogTransfer.Clear(); LogData(); }
void btnItem_Click(object sender, EventArgs e) { if (itmPnlQuizName.SelectedItems.Count == 1) { txtQuizName.Enabled = true; ButtonItem selItem = itmPnlQuizName.SelectedItems[0] as ButtonItem; if (selItem != null) { txtQuizName.Text = selItem.Name; _selQuizName = selItem.Name; dgDataField.Rows.Clear(); int RowIdx = 0; DAO.UDT_QuizDef qd1 = selItem.Tag as DAO.UDT_QuizDef; List <string> itemList = new List <string>(); if (qd1 != null) { XElement elms = Utility.ConvertStringToXelm1(qd1.QuizDataField); if (elms != null) { foreach (XElement elm in elms.Elements("Field")) { RowIdx = dgDataField.Rows.Add(); if (elm.Attribute("name") != null) { dgDataField.Rows[RowIdx].Cells[colFieldName.Index].Value = elm.Attribute("name").Value; itemList.Add(elm.Attribute("name").Value); } if (elm.Attribute("order") != null) { dgDataField.Rows[RowIdx].Cells[colDisplayOrder.Index].Value = elm.Attribute("order").Value; } } } } _LogTransfer.Clear(); _LogTransfer.SetLogValue("測驗名稱", qd1.QuizName); _LogTransfer.SetLogValue("項目內容", string.Join(",", itemList.ToArray())); } else { txtQuizName.Text = ""; dgDataField.Rows.Clear(); } } }
private void LoadDataToListView() { this.Loading = false; lvStudQuizData.Items.Clear(); ListViewItem lvi = null; _lviList.Clear(); foreach (DAO.UDT_StudQuizDataDef sqd in _StudQuizDataList) { lvi = new ListViewItem(); lvi.Tag = sqd; DAO.UDT_QuizDef qd = _UDTTransfer.GetQuizDataByID(sqd.QuizID.ToString()); lvi.Text = qd.QuizName; if (sqd.ImplementationDate.HasValue) { lvi.SubItems.Add(sqd.ImplementationDate.Value.ToShortDateString()); } else { lvi.SubItems.Add(""); } if (sqd.AnalysisDate.HasValue) { lvi.SubItems.Add(sqd.AnalysisDate.Value.ToShortDateString()); } else { lvi.SubItems.Add(""); } //lvStudQuizData.Items.Add(lvi); _lviList.Add(lvi); } // sort by ImplementationDate descending _lviList = (from data in _lviList orderby data.SubItems[colImplementationDate.Index].Text descending select data).ToList(); lvStudQuizData.Items.AddRange(_lviList.ToArray()); }
private void btnAdd_Click(object sender, EventArgs e) { List <string> NameList = _QuizData.Select(x => x.QuizName).ToList(); AddQuizNameForm aqnf = new AddQuizNameForm(NameList); if (aqnf.ShowDialog() == System.Windows.Forms.DialogResult.Yes) { if (!string.IsNullOrEmpty(aqnf.GetAddQuizName())) { DAO.UDT_QuizDef qd = new DAO.UDT_QuizDef(); qd.QuizName = aqnf.GetAddQuizName(); // Log _LogTransfer.Clear(); _LogTransfer.SetLogValue("測驗名稱", ""); _LogTransfer.SetLogValue("測驗名稱", qd.QuizName); _LogTransfer.SaveInsertLog("輔導新增測驗名稱", "新增", "", "", "", ""); _UDTTransfer.InsertQuizData(qd); } } LoadData(); }
private void btnAdd_Click(object sender, EventArgs e) { List<string> NameList = _QuizData.Select(x => x.QuizName).ToList(); AddQuizNameForm aqnf = new AddQuizNameForm(NameList); if (aqnf.ShowDialog() == System.Windows.Forms.DialogResult.Yes) { if (!string.IsNullOrEmpty(aqnf.GetAddQuizName())) { DAO.UDT_QuizDef qd = new DAO.UDT_QuizDef(); qd.QuizName = aqnf.GetAddQuizName(); // Log _LogTransfer.Clear(); _LogTransfer.SetLogValue("測驗名稱",""); _LogTransfer.SetLogValue("測驗名稱", qd.QuizName); _LogTransfer.SaveInsertLog("輔導新增測驗名稱", "新增", "", "", "", ""); _UDTTransfer.InsertQuizData(qd); } } LoadData(); }
private void btnDel_Click(object sender, EventArgs e) { if (itmPnlQuizName.SelectedItems.Count == 1) { ButtonItem selItm = itmPnlQuizName.SelectedItems[0] as ButtonItem; if (selItm != null) { if (FISCA.Presentation.Controls.MsgBox.Show("請問確定刪除[" + selItm.Name + "]?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.Yes) { DAO.UDT_QuizDef data = itmPnlQuizName.SelectedItems[0].Tag as DAO.UDT_QuizDef; string itemName = ""; List <string> itemList = (from da in Utility.ConvertStringToXelm1(data.QuizDataField).Elements("Field") select da.Attribute("name").Value).ToList(); itemName += string.Join(",", itemList.ToArray()); _LogTransfer.SetLogValue("測驗名稱", data.QuizName); _LogTransfer.SetLogValue("項目內容", itemName); _LogTransfer.SaveDeleteLog("輔導刪除測驗", "刪除", "", "", "", ""); _UDTTransfer.DeleteQuizData(data); LoadData(); } } } }
private void btnSave_Click(object sender, EventArgs e) { // 檢查資料是否又誤 if (itmPnlQuizName.SelectedItems.Count < 1) { FISCA.Presentation.Controls.MsgBox.Show("請選擇測驗."); return; } foreach (DataGridViewRow dr in dgDataField.Rows) { int errCot = 0; if (dr.Cells[colFieldName.Index].ErrorText != "") { errCot++; } if (dr.Cells[colDisplayOrder.Index].ErrorText != "") { errCot++; } if (errCot > 0) { FISCA.Presentation.Controls.MsgBox.Show("資料有錯誤無法儲存."); return; } } // 有修改名稱 if (txtQuizName.Text.Trim() != _selQuizName) { if (_QuizData.Select(x => x.QuizName).Contains(txtQuizName.Text.Trim())) { FISCA.Presentation.Controls.MsgBox.Show("已有相同名稱,無法修改!"); return; } } // 儲存資料 if (itmPnlQuizName.SelectedItems.Count == 1) { ButtonItem selItem = itmPnlQuizName.SelectedItems[0] as ButtonItem; DAO.UDT_QuizDef qd1 = selItem.Tag as DAO.UDT_QuizDef; if (selItem != null && qd1 != null) { qd1.QuizName = txtQuizName.Text.Trim(); List <XElement> xmlList = new List <XElement>(); List <string> itemList = new List <string>(); foreach (DataGridViewRow dgvr in dgDataField.Rows) { if (dgvr.IsNewRow) { continue; } if (("" + dgvr.Cells[colFieldName.Index].Value).Trim() == "") { continue; } XElement elm = new XElement("Field"); if (dgvr.Cells[colFieldName.Index].Value != null) { elm.SetAttributeValue("name", dgvr.Cells[colFieldName.Index].Value.ToString()); itemList.Add(dgvr.Cells[colFieldName.Index].Value.ToString()); } if (dgvr.Cells[colDisplayOrder.Index].Value != null) { elm.SetAttributeValue("order", dgvr.Cells[colDisplayOrder.Index].Value.ToString()); } xmlList.Add(elm); } _LogTransfer.SetLogValue("測驗名稱", txtQuizName.Text); _LogTransfer.SetLogValue("項目內容", string.Join(",", itemList.ToArray())); qd1.QuizDataField = Utility.ConvertXmlListToString1(xmlList); if (string.IsNullOrEmpty(qd1.UID)) { _LogTransfer.SaveInsertLog("輔導新增測驗", "新增", "", "", "", ""); _UDTTransfer.InsertQuizData(qd1); } else { _LogTransfer.SaveInsertLog("輔導修改測驗", "修改", "", "", "", ""); _UDTTransfer.UpdateQuizData(qd1); } } } FISCA.Presentation.Controls.MsgBox.Show("儲存完成."); LoadData(); }
private void StudQuizDataForm_Load(object sender, EventArgs e) { // 取得學生資料 StudentRecord studRec = Student.SelectByID(_StudentID); _StudQuizDataList = _UDTTransfer.GetStudQuizDataByStudentID(studRec.ID); // log 學生資訊用 _LogStudentName = Utility.ConvertString1(studRec); if (_StudQuizData == null) { _StudQuizData = new DAO.UDT_StudQuizDataDef(); } if (_EditMode == EditMode.Edit) { // 取得測驗名稱 foreach (DAO.UDT_QuizDef data in _AllQuiz.Where(x => x.UID == _StudQuizData.QuizID.ToString())) { _qdd = data; } if (_qdd == null) { FISCA.Presentation.Controls.MsgBox.Show("無法解析測驗內容."); return; } } if (studRec != null) { string str = ""; if (studRec.Class != null) { str += studRec.Class.Name + " "; } str += studRec.Name + " "; str += studRec.StudentNumber; str = " (" + str + ")"; if (_EditMode == EditMode.Edit) { this.Text = _qdd.QuizName + str; } else { this.Text = str; } } // 當編輯模式,測驗名稱,不能修改 if (_EditMode == EditMode.Edit) { cbxQuizName.Text = _qdd.QuizName; cbxQuizName.Enabled = false; if (_StudQuizData.ImplementationDate.HasValue) { dtImplementationDate.Value = _StudQuizData.ImplementationDate.Value; } if (_StudQuizData.AnalysisDate.HasValue) { dtAnalysisDate.Value = _StudQuizData.AnalysisDate.Value; } dgQuizData.Rows.Clear(); int rowIdx = 0; dgQuizData.Columns[colDataField.Index].ReadOnly = false; XElement elmContent = Utility.ConvertStringToXelm1(_StudQuizData.Content); if (elmContent != null) { // 沒有在試別欄位加入 List <string> fieldList = (from data in elmContent.Elements("Item") select data.Attribute("name").Value).ToList(); foreach (string str in fieldList) { if (!_RowNameList.Contains(str)) { _RowNameList.Add(str); } } // 依試別欄位順序排序 foreach (string str in _RowNameList) { foreach (XElement elm in elmContent.Elements("Item").Where(x => x.Attribute("name").Value == str)) { rowIdx = dgQuizData.Rows.Add(); if (elm.Attribute("name") != null) { dgQuizData.Rows[rowIdx].Cells[colDataField.Index].Value = elm.Attribute("name").Value; } if (elm.Attribute("value") != null) { dgQuizData.Rows[rowIdx].Cells[colDataValue.Index].Value = elm.Attribute("value").Value; } } } } dgQuizData.Columns[colDataField.Index].ReadOnly = true; } _LogTransfer.Clear(); LogData(); }
private void StudQuizDataForm_Load(object sender, EventArgs e) { // 取得學生資料 StudentRecord studRec = Student.SelectByID(_StudentID); _StudQuizDataList = _UDTTransfer.GetStudQuizDataByStudentID(studRec.ID); // log 學生資訊用 _LogStudentName = Utility.ConvertString1(studRec); if (_StudQuizData == null) { _StudQuizData = new DAO.UDT_StudQuizDataDef(); } if (_EditMode == EditMode.Edit) { // 取得測驗名稱 foreach (DAO.UDT_QuizDef data in _AllQuiz.Where(x => x.UID == _StudQuizData.QuizID.ToString())) _qdd = data; if (_qdd == null) { FISCA.Presentation.Controls.MsgBox.Show("無法解析測驗內容."); return; } } if (studRec != null) { string str = ""; if(studRec.Class !=null ) str+=studRec.Class.Name+" "; str+=studRec.Name+" "; str += studRec.StudentNumber; str = " (" + str + ")"; if (_EditMode == EditMode.Edit) this.Text = _qdd.QuizName + str; else this.Text = str; } // 當編輯模式,測驗名稱,不能修改 if (_EditMode == EditMode.Edit) { cbxQuizName.Text = _qdd.QuizName; cbxQuizName.Enabled = false; if (_StudQuizData.ImplementationDate.HasValue) dtImplementationDate.Value = _StudQuizData.ImplementationDate.Value; if (_StudQuizData.AnalysisDate.HasValue) dtAnalysisDate.Value = _StudQuizData.AnalysisDate.Value; dgQuizData.Rows.Clear(); int rowIdx = 0; dgQuizData.Columns[colDataField.Index].ReadOnly = false; XElement elmContent = Utility.ConvertStringToXelm1(_StudQuizData.Content); if (elmContent != null) { // 沒有在試別欄位加入 List<string> fieldList = (from data in elmContent.Elements("Item") select data.Attribute("name").Value).ToList(); foreach (string str in fieldList) if (!_RowNameList.Contains(str)) _RowNameList.Add(str); // 依試別欄位順序排序 foreach (string str in _RowNameList) { foreach (XElement elm in elmContent.Elements("Item").Where(x => x.Attribute("name").Value == str)) { rowIdx = dgQuizData.Rows.Add(); if (elm.Attribute("name") != null) dgQuizData.Rows[rowIdx].Cells[colDataField.Index].Value = elm.Attribute("name").Value; if (elm.Attribute("value") != null) dgQuizData.Rows[rowIdx].Cells[colDataValue.Index].Value = elm.Attribute("value").Value; } } } dgQuizData.Columns[colDataField.Index].ReadOnly = true; } _LogTransfer.Clear(); LogData(); }
private void cbxQuizName_SelectedIndexChanged(object sender, EventArgs e) { foreach (DAO.UDT_QuizDef data in _AllQuiz.Where(x => x.QuizName == cbxQuizName.Text)) _qdd = data; ReLoadQuizFieldNameList(); dgQuizData.Rows.Clear(); int rowIdx = 0; dgQuizData.Columns[colDataField.Index].ReadOnly = false; // 依試別欄位順序排序 foreach (DAO.SortData1 data in _quizFieldNameList) { rowIdx = dgQuizData.Rows.Add(); dgQuizData.Rows[rowIdx].Cells[colDataField.Index].Value = data.Name; } dgQuizData.Columns[colDataField.Index].ReadOnly = true; _LogTransfer.Clear(); LogData(); }