指数超出范围.必须非负且小于集合的大小

本文关键字:小于 集合 范围 指数 | 更新日期: 2023-09-27 18:08:21

谁能建议在asp.net c#中存储从列表框到数据库的多个选定值的代码

 string day = dataGridView1.Rows[0].Cells[0].Value.ToString();
 //DateTime.Now.DayOfWeek.ToString();
 dataGridView1.Rows[0].Cells[1].Value = 
                Convert.ToDateTime(day.ToString())).DayOfWeek.ToString();
 for (int i = 1; i < 10; i++)
 {
     DateTime dtd = Convert.ToDateTime(day).Date;
     dtd = dtd.AddDays(7);
     dataGridView1.Rows[i].Cells[0].Value = dtd;
     DateTime date = dtd;
    dataGridView1.Rows[i ].Cells[1].Value = 
                   (Convert.ToDateTime(date.ToString())).DayOfWeek.ToString();
  }
}
误差

Index was out of range. Must be non-negative and less than the size of the collection. 
Parameter name: index.

指数超出范围.必须非负且小于集合的大小

请注意,对于X的大小,index是0到(X -1)。

也许你想用:

for (int i = 0; i < 9; i++)

或使用i<dataGridView1.Rows.Count()作为循环停止条件语句,而不是i<9 .

在开始访问行或单元格之前,您应该创建一个!!我希望这段代码对你有帮助

dataGridView1.Columns.Add("date", "Date");
        dataGridView1.Columns.Add("day", "Day");
        var day = DateTime.Now;
        DataGridViewRow row = new DataGridViewRow();
        DataGridViewCell cell = new DataGridViewTextBoxCell();
        cell.Value = (Convert.ToDateTime(day.ToString())).DayOfWeek.ToString();
        row.Cells.Add(cell);
        dataGridView1.Rows.Add(row);
        for (int i = 1; i < 10; i++)
        {
            DateTime dtd = Convert.ToDateTime(day).Date;
            dtd = dtd.AddDays(7);
            row = new DataGridViewRow();
            cell = new DataGridViewTextBoxCell();
            cell.Value = dtd.ToString();
            row.Cells.Add(cell);
            DateTime date = dtd;
            cell = new DataGridViewTextBoxCell();
            cell.Value = (Convert.ToDateTime(date.ToString())).DayOfWeek.ToString();
            row.Cells.Add(cell);
            dataGridView1.Rows.Add(row);
        }

确保dataGridView的可见属性为"visible=true"

相关文章: