赋值时索引超出范围,必须为非负值并小于集合大小。参数名: index 情况是这样,新建一个datatable,从数据库中读数据及结构送到datatable中,用gridview显示datatable中的数据,正常,然后后台用timer计时器定期调用函数两秒钟对datatable中是数据进行改写一次,例如显示如下:
(从数据库中读出的值) (后台不断在改动)
姓名 年龄 姓名 年龄 姓名 年龄 重复.......
test1 22 test1 23 test1 24
test2 11 test2 12 test2 13
我改写的时候直接
foreach(DataRow dr in datatable)
{
if(dr["姓名"]=="test1")
dr["年龄"]=(int)dr["年龄"]+1;
if(dr["姓名"]=="test2")
dr["年龄"]=(int)dr["年龄"]+1;
}刚开始还好,能看到 gridview中 数值在变化,没多久就报错了,追踪错误位置就在【dr["年龄"]=(int)dr["年龄"]+1】赋值这个地方,错误为:赋值时索引超出范围,必须为非负值并小于集合大小。参数名: index 很奇怪,datatable我一直在改写,没有增减行数列数,怎会索引超出范围呢,还请大家指教。
(从数据库中读出的值) (后台不断在改动)
姓名 年龄 姓名 年龄 姓名 年龄 重复.......
test1 22 test1 23 test1 24
test2 11 test2 12 test2 13
我改写的时候直接
foreach(DataRow dr in datatable)
{
if(dr["姓名"]=="test1")
dr["年龄"]=(int)dr["年龄"]+1;
if(dr["姓名"]=="test2")
dr["年龄"]=(int)dr["年龄"]+1;
}刚开始还好,能看到 gridview中 数值在变化,没多久就报错了,追踪错误位置就在【dr["年龄"]=(int)dr["年龄"]+1】赋值这个地方,错误为:赋值时索引超出范围,必须为非负值并小于集合大小。参数名: index 很奇怪,datatable我一直在改写,没有增减行数列数,怎会索引超出范围呢,还请大家指教。
姓名 年龄------------- 姓名 年龄 -----------姓名 年龄 重复.......
test1 22-------------- test1 23 ------------ test1 24
test2 11 --------------test2 12 -------------test2 13
不是啊 就是举了个例子
姓名 年龄------------> 姓名 年龄
test1 22------------>test1 23
test2 11 ----------->test2 12