设置datagridview单元格值的索引错误

时间:2012-02-26 00:03:29

标签: c# datagridview indexing

我遇到一个令人沮丧的错误,我很确定这是一件简单的事情,但我无法弄清楚是什么。

这是我的功能:

public void setDistanceCellValue(int value, int row, int column)
{
    try
    {
        Console.WriteLine("Row: " + row + " Column: " + column + " Value: " + value);
                logGrid.Rows[row].Cells[column].Value = value.ToString();
    }
    catch (Exception ex)
    {
            MessageBox.Show(string.Format("An error occurred: {0}" + "\r\n" + "\r\n" + "Row: " + row + " Column: " + column + " Value: " + value, ex.Message));
    }
}

logGrid值设置行是错误的,其中“索引超出范围。必须是非负数且小于集合的大小。参数名称:index。”

我一直在检查和检查,我的网格有6行8列,并且在第2行第3列调用该函数(因此调用所有调试代码)。对于我的生活,我无法弄清楚为什么我说e.rowIndex使用负索引或大于5的索引或e.columnIndex使用大于5的索引。

如果可以,请帮助我。

1 个答案:

答案 0 :(得分:1)

指数范围从 0到N-1 ,而不是 1到N


编辑:

两个建议

  1. 在现有Console.WriteLine
  2. 之前添加其他调试代码
       Console.WriteLine("Row Count: {0}", logGrid.Rows.Count);
       Console.WriteLine("Cell Count: {0}", logGrid.Rows[row].Cells.Count);
    
    1. 检查AutoGenerateColumns属性,看它是否按预期设置。