0

任何人都可以建议将多个选定值从列表框存储到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.
4

3 回答 3

5

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

所以也许你想使用:

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

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

于 2013-04-10T12:06:35.267 回答
0

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

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);
        }
于 2013-04-10T12:32:23.183 回答
-1

确保 dataGridView 可见属性为“visible=true”

于 2017-05-28T17:54:36.650 回答