private void GradeTotalsGrid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { StudentViewModel student = (StudentViewModel)this.Rows[e.RowIndex].DataBoundItem; if (isGradingPeriodColumn(e.ColumnIndex)) { GradingPeriodViewModel gradingPeriod = (GradingPeriodViewModel)this.Columns[e.ColumnIndex].Tag; CourseViewModel course = findCourse(gradingPeriod); double gradePercentage = course.CalculateGradePercentage(student); e.Value = gradePercentage; e.CellStyle.BackColor = GradeColorCode.getColor(gradePercentage); } else if (this.Columns["totalGradeColumn"].Index == e.ColumnIndex) { double gradePercentage = calculateStudentTotalGradePercentage(student); e.Value = gradePercentage; e.CellStyle.BackColor = GradeColorCode.getColor(gradePercentage); } }