日期:2014-05-17  浏览次数:20911 次

直接给datagridview赋值 索引超出范围
本帖最后由 fx_cys 于 2013-03-13 13:07:54 编辑

for (int i = 0; i < strcclist.Count; i++)
{
this.dataGridView1.Rows[i].Cells[0].Value = strcclist[i];
}
运行到这一步就出现下面错误提示:
索引超出范围。必须为非负值并小于集合大小
参数名: index”


请问是什么原因

------解决方案--------------------
Rows[i] 有吗
strcclist[i] 有吗
------解决方案--------------------
dataGridView1绑定数据源了吗?
确保dataGridView1.Rows.Count=strcclist.Count吗?
------解决方案--------------------
检查下strcclist.count是否大于了datagridview的行数
------解决方案--------------------
for (int i = 0; i < strcclist.Count; i++)
{
this.dataGridView1.Rows.Add.......
this.dataGridView1.Rows[i].Cells[0].Value = strcclist[i];
}
------解决方案--------------------
this.dataGridView1.Rows里没有行吧?
没绑定数据源要自己往里加行的。
------解决方案--------------------
Rows[i]相当于是是取得第i个Row.
没有的话需要先添加。
------解决方案--------------------
dataGridView1.DataSource=strcclist;