столбец флажка dataGridView «ссылка на объект не установлена ​​для экземпляра объекта» - PullRequest
0 голосов
/ 16 февраля 2012

Я пытаюсь зафиксировать состояние ячеек столбца-флажка в dataGridView (включено / отключено) в событии dataGridView_CellEndEdit формы Windows, например:

 private void dataGridView2_CellEndEdit(object sender, DataGridViewCellEventArgs e)
 {
    if (e.ColumnIndex == 2)
       { 
          switch ((bool)dataGridView2.Rows[e.RowIndex].Cells[2].Value)
               {
                 case true:
                    //do something
                    break;
                 case false:
                    //do something else
                    break;
                 default:
                    break;
               }
       }
  }

Это работает отдельно от одного случая; Когда я щелкаю в любой части ячейки флажка, кроме белого прямоугольника (скажем, например, что я пропустил), а затем пытаюсь щелкнуть что-то еще, я получаю эту ошибку: «Ссылка на объект не установлена ​​на экземпляр объекта». Эта ошибка возникает в этой строке:

switch ((bool)dataGridView2.Rows[e.RowIndex].Cells[2].Value)

Что я здесь не так делаю?

1 Ответ

1 голос
/ 16 февраля 2012
//put before the switch 
if (e.RowIndex<0 || dataGridView2.Rows[e.RowIndex] ==null || dataGridView2.Rows[e.RowIndex].Cells[2].Value ==null )
{
//cannot determine what was selected , you could return or do something else . . .
return;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...