当我执行我的应用程序时,会发生以下错误:
System.ArgumentOutOfRangeException未被用户代码处理。指定的参数超出了有效值的范围。参数名称:index
错误发生在下面注释的行上:
private void helper_GeneralSummary(GridViewRow row)
{
double HoldingDays = Convert.ToDouble(row.Cells[6].Text);
double AbsReturn = Convert.ToDouble(row.Cells[7].Text);
double AnnReturn = (AbsReturn / HoldingDays) * 365;
row.Cells[8].Text = AnnReturn.ToString("#,0.00"); //Error occured
}
答案 0 :(得分:1)
ArgumentOutOfRangeException表示您提供的值太大或太小,无法正常运行。在您的特定示例中,您尝试访问数组的内容:
row.Cells[8].Text = AnnReturn.ToString("#,0.00");
您可以忽略该行的大部分内容,错误发生在本节中:
row.Cells[8]
它告诉你Cells
数组没有9列。请记住,这是0索引,因此索引8表示访问列9.相反,要访问第一列,您将使用row.Cells[0]
。
因此,您在某处做了一个错误的假设,需要先检查您从系统中获取的数据。如果您在该行上粘贴断点,您应该能够深入了解row.Cells
,看看您必须使用哪些列。