-3

我试图运行这个 for 循环来填充数据网格视图中的某个列,但给出“索引超出范围。必须是非负数并且小于集合的大小。参数名称:索引”的错误

              for (int i = 0; i < noofloops; i++)
              {
                  dgroute.Rows[i].Cells[0].Value ="Hey";
              }

我得到了一些新的附加信息......这是我真正想要做的整个代码是我想将 datepicker1 的日期获取到 datepicker2。我减去 date1 和 date2 以获得 2 个日期的差异并循环它以便在 datagridview 中显示 date1 和 date2 之间的所有特定日期

 private void btnOK_Click(object sender, EventArgs e)
        {
              DateTime A = dtFrm.Value;
              DateTime B = dtTo.Value;
              TimeSpan ts = B - A;
              int days = ts.Days;




                  for (int i = 0; i < dgroute.Rows.Count; i++)
                  {

                      dgroute.Rows[i].Cells[0].Value ="Hey";

                  }

              }
        }
4

3 回答 3

1

考虑:

          for (int i = 0; i < noofloops && i < dgroute.Rows.Count; i++)
          {
              dgroute.Rows[i].Cells[0].Value ="Hey";
          }

您很可能在 dgroute.Rows 的末尾进行索引。

于 2012-12-03T01:39:26.590 回答
1

尝试将循环更改为此:

for (int i = 0; i < dgroute.Rows.Count; ++i)
{
    dgroute.Rows[i].Cells[0].Value ="Hey";
}
于 2012-12-03T01:36:28.410 回答
0

尝试这个

for (int i = 0; i < dgroute.Rows.Count -1; ++i)
{
    dgroute.Rows[i].Cells[0].Value ="Hey";
}
于 2012-12-03T01:39:02.220 回答