Winforms DataGridView Изменение выбора ячейки дает ошибку - PullRequest
1 голос
/ 03 мая 2011

У меня есть экран winforms и приведенный ниже код в событии Form_Activation.

if (genlGrid1.Rows.Count > 0 && genlGrid1.Rows.Count <= genlGridIndex + 1 && (genlGridIndex >= 0 && genlGridIndex < 2))    
{    
    //Looks like below line is where exception occurs    
    genlGrid1.Rows[genlGridIndex].Cells[0].Selected = true;     
}

Я уверен, что при выполнении этой строки кода сетка имеет 2 строки и 9 ячеек.

Когда эта строка кода выполняется, я получаю ошибку ниже.Понятия не имею, что происходит с сеткой.Что такое SetCurrentCellAddressCore и почему мы получаем это исключение ??

Может ли кто-нибудь помочь, пожалуйста?

System.ArgumentOutOfRangeException: указанный аргумент находится вне диапазона допустимых значений.Имя параметра: columnIndex в System.Windows.Forms.DataGridView.SetCurrentCellAddressCore (Int32 columnIndex, Int32 rowIndex, логическое значение setAnchorCellAddress, логическое значение validateCurrentCell, логический черезMouseClick) в System.Windows.Forx.Index.Index.Index.Index.Index.Index.Index.Index.Index.Index.в System.Windows.Forms.DataGridViewCell.set_Selected (логическое значение)

1 Ответ

0 голосов
/ 04 мая 2011

Должно ли это быть

if (genlGrid1.Rows.Count > 0 && 
    genlGrid1.Rows.Count >= genlGridIndex + 1 && 
   (genlGridIndex >= 0 && genlGridIndex < 2))    
{        
    genlGrid1.Rows[genlGridIndex].Cells[0].Selected = true;     
}

?

Примечание genlGrid1.Rows.Count >= genlGridIndex + 1

...