猿问

GridView两个更新事件怎么用

vs2005.NET  中GridView控件 GridView_RowUpdated 和GridView_RowUpdating两个事件怎么用

桃花长相依
浏览 677回答 2
2回答

qq_笑_17

这两个都在更新数据时触发,不同之外在于 GridView_RowUpdated 在更新到数据库后发生,而 GridView_RowUpdating 在更新到数据库之前发生。一般在GridView_RowUpdating 中都会有一些处理:1、有一些字段没有在GridView中出现但是也需要更新(例如更新时间)2、有一些字段出现在了GridView中,但是并不需要更新到数据库3、有一些字段需要转换一下才可以更新(一般都是一些dropdownlist或者checkbox等)4、其他需要对值在更新前进行一下处理的情况总之,GridView_RowUpdating负责在把请求发送到数据库之前,将数据处理得符合数据库的要求而GridView_RowUpdated是在数据库更新完之后才执行的,一般会执行一些后期的绑定工作,比如重新绑定关联的DetailView、FormView等

郎朗坤

一般做行更新的时候用第二个就行了.下面是使用的一块例代码块:核心语句还是得到当前更新行的控件.    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)    {        sqlcon = new SqlConnection(strCon);        string sqlstr = "update 表 set 字段1='"            + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',字段2='"            + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',字段3='"            + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where id='"             + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";        sqlcom=new SqlCommand(sqlstr,sqlcon);        sqlcon.Open();        sqlcom.ExecuteNonQuery();        sqlcon.Close();        GridView1.EditIndex = -1;        bind();    }第一个事件为更新成功后触发的吧.
随时随地看视频慕课网APP
我要回答