JC Carmo Ответов: 1

Информация C# в столбце datagirdview мерцает


Я начинающий программист, разрабатывающий решение c# WinForms в VS 2015 Professional для своей школы.

После того, как я реализовал приведенный ниже код, информация в столбце 9 DataGridView мерцает и заставляет поля моей формы сереть. Он отображается правильно только после того, как я перетаскиваю и перемещаю форму по экрану.

Не могли бы вы взглянуть на мой код и посмотреть, в чем проблема? Код делает то, что я хочу, но я уверен, что его можно усовершенствовать. Спасибо. Я очень ценю ваше время и помощь.

Что я уже пробовал:

private void alunos_detDataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
     try
     {
        decimal midtermGrade = Convert.ToInt32(this.alunos_detDataGridView.Rows[e.RowIndex].Cells[3].Value);
        decimal finalGrade = Convert.ToInt32(this.alunos_detDataGridView.Rows[e.RowIndex].Cells[4].Value);
        decimal oralGrade = Convert.ToInt32(this.alunos_detDataGridView.Rows[e.RowIndex].Cells[5].Value);

        this.alunos_detDataGridView.Rows[e.RowIndex].Cells[9].Value = ((midtermGrade + finalGrade + oralGrade) / 3);

         if (alunos_detDataGridView.CurrentRow.Cells[0].Value.ToString() != null)
         {

             if ((midtermGrade + finalGrade + oralGrade / 3) >= 60)
             {
                 this.alunos_detDataGridView.Rows[e.RowIndex].Cells[10].Value = "Aprovado";
             }
             else
             {
                this.alunos_detDataGridView.Rows[e.RowIndex].Cells[10].Value = "Reprovado";
             }
         }
     }
     catch
     {
     }

1 Ответов

Рейтинг:
6

JC Carmo

Я исправил проблему! Я заменил событие CellFormatting событием CellEndEdit, и теперь все вернулось в норму! :)