为什么GridView只能编辑第一行?

c#WebApplication写入如下代码:protectedvoidGridView1_RowEditing(objectsender,GridViewEditEve... c# WebApplication

写入如下代码:
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;

((TextBox)GridView1.Rows[n].Cells[5].Controls[0]).ReadOnly = true;
}

点击第一行的时候可以编辑,但是点击其他行的时候,总是提示“指定的参数已超出有效值的范围”

请问这是为什么?应该如何解决?

希望大家帮忙,谢谢!
而且,不管点哪一行,都使第一行进入编辑状态
展开
 我来答
ltenai
推荐于2016-06-14
知道答主
回答量:41
采纳率:0%
帮助的人:29.3万
展开全部
GridView1.EditIndex = e.NewEditIndex;
GridView1.DataBind();//此时使GridView1变成编辑状态
((TextBox)GridView1.Rows[e.NewEditIndex].FindControl("TextBox1")).ReadOnly = true; //此时要使编辑状态下的TEXTBOX的控件为不可用状态,最好是使用FindControl.当然使用Rows[n].Cells[5].Controls[0]也可以,但是这个就要注意Controls的索引对应的控件是否是你需要的TEXTBOX.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lptiancai8
2008-10-03 · TA获得超过376个赞
知道小有建树答主
回答量:419
采纳率:0%
帮助的人:331万
展开全部
取索引取错了,你看看你取出来的索引是多少,先输出一下看看.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9bea0d3
2008-10-03 · 超过17用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:0
展开全部
e.NewEditIndex;
这个取值出错了
int id = int.parse(gridView1.selectIndex[gridView1.selectIndex].Cells[0].Text);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式