Winforms DataGridView单元格选择更改给出错误

时间:2011-05-03 19:49:43

标签: winforms datagridview selection

我在Form_Activated事件中有一个winforms屏幕和下面的代码。

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 at   System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(的Int32   columnIndex,Int32 rowIndex,Boolean   setAnchorCellAddress,Boolean   validateCurrentCell,Boolean   通过鼠标点击)   System.Windows.Forms.DataGridView.SetSelectedCellCoreInternal(的Int32   columnIndex,Int32 rowIndex,Boolean   选中)   System.Windows.Forms.DataGridViewCell.set_Selected(布尔   值)

1 个答案:

答案 0 :(得分:0)

应该是

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

相关问题