索引超出范围.必须是非负数并且小于集合的大小.4.
本文关键字:集合 小于 范围 是非 索引 | 更新日期: 2023-09-27 18:00:40
我的数据网格视图有4行。行[2]的名称为date1,行[3]的名称为date2。我还用Cells[2]和Cell[3]测试了这个代码,而不是Cells名称。但我又收到了同样的错误。问题是Index没有超出范围。并且小于集合的大小。这是我的代码:
for (int i = 0; i < dgv1frmModateEghamat.Rows.Count; i++)
{
DateTime date1 = Convert.ToDateTime(dgv1frmModateEghamat.SelectedRows[i].Cells["date1"].Value);
DateTime date2 = Convert.ToDateTime(dgv1frmModateEghamat.SelectedRows[i].Cells["date2"].Value);
TimeSpan span = date2.Subtract(date1);
int result = int.Parse(span.TotalDays.ToString());
if (result >= int.Parse(textBoxX2.Text))
{
dgv1frmModateEghamat.SelectedRows[i].Visible = true;
}
else
{
CurrencyManager cr = (CurrencyManager)BindingContext[dgv1frmModateEghamat.DataSource];
cr.SuspendBinding();
dgv1frmModateEghamat.SelectedRows[i].Visible = false;
}
}
但我看到了这个错误:指数超出了范围。必须是非负数并且小于集合的大小。
您在Rows中循环,但在SelectedRows中进行索引。您需要循环浏览SelectedRows。
for (int i = 0; i < dgv1frmModateEghamat.SelectedRows.Count; i++)
dgv1frmModateEghamat.SelectedRows
的项目可能少于dgv1frmModateEghamat.Rows
。