关于对GridView进行编辑行为,提交后出现超出索引范围的问题。

索引超出范围。必须为非负值并小于集合大小。参数名:index还是这个问题。我前台的DataKeyNames="编号"也加了,DataBind()也加了,主键也设置了。就是... 索引超出范围。必须为非负值并小于集合大小。
参数名: index

还是这个问题。我前台的 DataKeyNames="编号" 也加了,DataBind()也加了,主键也设置了。就是不知道为什么还出这问题。

string sqlstr = "update [Chuzhang] set 出账类型='"
+ ((TextBox)(gvInfo.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',时间='"
+ ((TextBox)(gvInfo.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',费用类型='"
+ ((TextBox)(gvInfo.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',银行='"
+ ((TextBox)(gvInfo.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "',收款人='"
+ ((TextBox)(gvInfo.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim() + "',金额='"
+ ((TextBox)(gvInfo.Rows[e.RowIndex].Cells[6].Controls[0])).Text.ToString().Trim() + "',备注='"
+ ((TextBox)(gvInfo.Rows[e.RowIndex].Cells[7].Controls[0])).Text.ToString().Trim() + "'where 编号='" + gvInfo.DataKeys[e.RowIndex].Value.ToString() + "'";

sqlcom = new SqlCommand(sqlstr, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();

gvInfo.EditIndex = -1;
BindsData();

点编辑的时候GridView第二列到第八列可以修改。第一列编号是键值。哪里错了啊。搞了一下午了。
展开
 我来答
平梦醉神风1I
2011-08-19 · TA获得超过1510个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:1031万
展开全部
如果正确设置过了DataKeyNames属性,按理 gvInfo.DataKeys[e.RowIndex].Value.ToString() 是不会出错了

实际开发中根本看不到gvInfo.Rows[e.RowIndex].Cells[1].Controls[0]这样的代码,都是前台使用TemplateField,后台用FindControl去找控件,否则很难找到错误所在;而且很少会使用拼接sql语句

有时候一个单元格多了一个空格,就需要用Cells[index].Controls[1]来找到控件,这谁能知道?建议楼主使用模板列,已避免这种困扰
追问
那模板列来实现GridView的编辑的话,该怎么做呢?我目前只会做GridView自带的编辑方式,还出现了这个错误。
追答
方便留Q号远程
Glad大明白
2011-08-19 · TA获得超过1223个赞
知道小有建树答主
回答量:750
采纳率:75%
帮助的人:187万
展开全部
一共就那几个索引。。。你打断点跟跟呗要不加Q1784597379我给你看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
湮灭の爱
2011-08-19 · 超过10用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:21.2万
展开全部
gvInfo.EditIndex = -1;
这里的问题吧,怎么能赋负值呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式