GridView 行编辑事件的基础问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GridView 行编辑事件的基础问题相关的知识,希望对你有一定的参考价值。

this.gvInfo.EditIndex = e.NewEditIndex;
只写上面这句话就是告诉控件了选中行的索引,控件会改变生成编辑状态,但是不知为什么要点两次编辑按钮,为什么非要写下面这两句重新绑定一次才能正常使用呢?
this.gvInfo.DataSource = BLLHelper.GetAllinfo();
this.gvInfo.DataBind();

在这个gvInfo_RowEditing事件中,它的原理实现机制是怎样的呢?谢谢!
gridview的更新分为3个步骤事件,有editing , updating,updated这3个,我明白你说的道理,但是现在仅仅是editing事件,只负责改变显示状态才对吧?updating才是负责更新的啊?为什么在editing事件中要绑定数剧一次呢?有人能补允吗,谢谢。

编辑
我是理解为数据的更新
要更新 我们需要先取到数据 再进行修改 然后在存储到数据库中 完成修改 在读取到用户层
所以需要两次绑定

我也刚学习 供LZ参考
参考技术A protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

string id = GridView1.DataKeys[e.NewEditIndex].Value.ToString();
Response.Write("<script>window.open('editPersonal.aspx?id=" + id + "','','width=450,height=450')</script>");
Response.Write("<script>location='javascript:history.go(-1)'</script>");


你先跳到另一个页面 就可以了 updating,updated 没用的 就用那一个就可以了 你再在'editPersonal.aspx做一个修改页面,在写update的sql语句就搞定了
参考技术B 你要实现行的更新吗?有更简单的方法啊,你只要指定你的Datasource的UpdateCommand就好了
例如Datasource1.UpadateCommand="Update 表名 Set [字段1]=@字段1,[字段2]=@字段2 Where ([字段3]=@字段3)";

以上是关于GridView 行编辑事件的基础问题的主要内容,如果未能解决你的问题,请参考以下文章

.net如何在后台获取GridView选定行的id,绑定给一个变量

C#如何修改dategridview里头数据

asp.net中GridView怎样进行分页,编辑,删除操作

GridView基础知识

GridView基础知识

Gridview 行命令事件未使用 jquery mobile 触发