private bool IsDirty() { #region 資料驗證 foreach (DataGridViewRow row in dataGridView.Rows) { foreach (DataGridViewCell cell in row.Cells) { if (cell.Tag == null) { continue; } if (cell.Tag is SemesterCellInfo) { SemesterCellInfo cInfo = cell.Tag as SemesterCellInfo; if (cInfo.IsDirty) { return(true); } } else if (cell.Tag is AbsenceCellInfo) { AbsenceCellInfo cInfo = cell.Tag as AbsenceCellInfo; if (cInfo.IsDirty) { return(true); } } } } return(false); #endregion }
private void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e) { #region 學年度/學期輸入驗證 DataGridViewCell cell = dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex]; DataGridViewColumn column = dataGridView.Columns[e.ColumnIndex]; if (column.Index == ColumnIndex["學年度"]) { string errorMessage = ""; int schoolYear; if (cell.Value == null) { errorMessage = "學年度不可為空白"; } else if (!int.TryParse(cell.Value.ToString(), out schoolYear)) { errorMessage = "學年度必須為整數"; } if (errorMessage != "") { cell.ErrorText = errorMessage; //cell.Style.BackColor = Color.Red; //cell.ToolTipText = errorMessage; } else { cell.ErrorText = string.Empty; SemesterCellInfo cinfo = cell.Tag as SemesterCellInfo; cinfo.SetValue(cell.Value == null ? string.Empty : cell.Value.ToString()); //cell.Style.BackColor = Color.White; //cell.ToolTipText = ""; } } else if (column.Index == ColumnIndex["學期"]) { string errorMessage = string.Empty; if (cell.Value == null) { errorMessage = "學期不可為空白"; } else if (cell.Value.ToString() != "1" && cell.Value.ToString() != "2") { errorMessage = "學期必須為整數『1』或『2』"; } if (errorMessage != string.Empty) { cell.ErrorText = errorMessage; //cell.Style.BackColor = Color.Red; //cell.ToolTipText = errorMessage; } else { cell.ErrorText = string.Empty; SemesterCellInfo cinfo = cell.Tag as SemesterCellInfo; cinfo.SetValue(cell.Value == null ? string.Empty : cell.Value.ToString()); //cell.Style.BackColor = Color.White; //cell.ToolTipText = ""; } } #endregion }