/// <summary> /// 监听单元格事件:值修改 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DataGridViewCell_ValueChanged(object sender, DataGridViewCellEventArgs e) { int classStudentId = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());//获取焦点触发行的第1个值 ClassStudentDao DAO = new ClassStudentDao(); ClassStudentBean classStudent = DAO.FindById(new ClassStudentBean(classStudentId)); if (e.ColumnIndex < 7 || e.ColumnIndex > 10) { return; } classStudent.Id = Convert.ToInt32(classStudentId); switch (e.ColumnIndex) { case 7: //平时表现成绩 classStudent.Gpa_Score = Convert.ToInt32(dataGridView1.CurrentCell.Value.ToString()); //获取当前点击的活动单元格的值 break; case 8: //理论考试成绩 classStudent.Paper_Score = Convert.ToInt32(dataGridView1.CurrentCell.Value.ToString()); break; case 9: //实践考核成绩 classStudent.Practice_Score = Convert.ToInt32(dataGridView1.CurrentCell.Value.ToString()); break; case 10: //总评成绩 classStudent.Score = Convert.ToInt32(dataGridView1.CurrentCell.Value.ToString()); break; } DAO.UpdateById(classStudent); }
/// <summary> /// 点击单元格事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DataGridViewCellContent_Click(object sender, DataGridViewCellEventArgs e) { //当点击'预选课'按钮时 if (skinDataGridView1.Columns[e.ColumnIndex].Name == "colBtn_preSelect") { //获取被选中行的数据 int courseId = (int)skinDataGridView1.Rows[e.RowIndex].Cells[0].Value; //首列的数据 string programName = skinDataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString(); //第7列的数据 if (programName.Equals(educationProgram.Name) == false) //只允许选择与自己班级所在的培养方案相同的课程 { this.Warning("选课失败! 该课程的培养方案与您所在班级的培养方案不相同!"); return; } //查:表[PlanStudyCourseDao] PlanStudyCourseBean planStudyCourse = new PlanStudyCourseBean(courseId, 3, student.Id); PlanStudyCourseDao DAO = new PlanStudyCourseDao(); if (DAO.FindByStuId_CourId_SemsId(planStudyCourse) != null) { this.Warning("选课失败!您已预先过此门课,请不要重复选课!"); return; } //增:表[PlanStudyCourseDao] if (DAO.Add(planStudyCourse)) { this.Info("预选成功!"); } } //当点击'正式选课'按钮时 if (skinDataGridView1.Columns[e.ColumnIndex].Name == "colBtn_formalSelect") { //获取被选中行的数据 int courseClassId = (int)skinDataGridView1.Rows[e.RowIndex].Cells[0].Value; //查:表[class_student] ClassStudentBean classStudent = new ClassStudentBean(courseClassId, student.Id); ClassStudentDao DAO = new ClassStudentDao(); if (DAO.FindByCourseClassId_StuId(classStudent) != null) { this.Warning("选课失败!您已正选过此门课程,请不要重复选课!"); return; } //增:表[class_student] if (DAO.Add(classStudent)) { this.Info("正式选课成功!"); } } //当点击'撤销预选课'按钮时 if (skinDataGridView1.Columns[e.ColumnIndex].Name == "colBtn_preDelete") { //获取被选中行的数据 string number = skinDataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString(); //第3列的数据 //获取目标课程的课程编号 CourseDao courseDAO = new CourseDao(); CourseBean course = courseDAO.FindByNumber(new CourseBean(number, null, null, 0, 0, 0, 0, 0)); //获取目标预选课的预选ID PlanStudyCourseBean planStudyCourse = new PlanStudyCourseBean(course.Id, 3, student.Id); PlanStudyCourseDao planStudyCourseDao = new PlanStudyCourseDao(); planStudyCourse = planStudyCourseDao.FindByStuId_CourId_SemsId(planStudyCourse); //删除目标预选课 planStudyCourseDao.DeleteById(planStudyCourse); //刷新表格 ShowMyPlanCourse(this.skinDataGridView1); this.Info("已删除!"); } }