为了账号安全,请及时绑定邮箱和手机立即绑定

GridView两个更新事件怎么用

GridView两个更新事件怎么用

桃花长相依 2018-11-13 05:02:21
vs2005.NET  中GridView控件 GridView_RowUpdated 和GridView_RowUpdating两个事件怎么用
查看完整描述

2 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

这两个都在更新数据时触发,不同之外在于 GridView_RowUpdated 在更新到数据库后发生,而 GridView_RowUpdating 在更新到数据库之前发生。

一般在GridView_RowUpdating 中都会有一些处理:
1、有一些字段没有在GridView中出现但是也需要更新(例如更新时间)
2、有一些字段出现在了GridView中,但是并不需要更新到数据库
3、有一些字段需要转换一下才可以更新(一般都是一些dropdownlist或者checkbox等)
4、其他需要对值在更新前进行一下处理的情况
总之,GridView_RowUpdating负责在把请求发送到数据库之前,将数据处理得符合数据库的要求

而GridView_RowUpdated是在数据库更新完之后才执行的,一般会执行一些后期的绑定工作,比如重新绑定关联的DetailView、FormView等


查看完整回答
反对 回复 2018-11-14
?
郎朗坤

TA贡献1921条经验 获得超9个赞

一般做行更新的时候用第二个就行了.

下面是使用的一块例代码块:核心语句还是得到当前更新行的控件.

    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();
    }

第一个事件为更新成功后触发的吧.


查看完整回答
反对 回复 2018-11-14
  • 2 回答
  • 0 关注
  • 676 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信