Gridview中添加按钮响应事件

Title生成按钮事件的接口      Gridview控件里自带的行删除,更

新功能仅有接口,没有响应事件的代码。要想实现对GridView中行

的操作,可以通过添加自定义的按钮事件来实现。下面以添加自定

义的删除按钮来说明。

      打开GridView的Smart penl,点击编辑列,双击ButtonField

,以添加按钮字段。BttonType选Butten,设置CommandName,如设

为“Del”,那么这个“Del”就用来唯一标识这个按钮的响应命令

。其他属性,如TEXT,Headertext,可根据需要自己设置。这样添

加按钮字段就完成了,接下来配置按钮响应事件的接口。

      打开GridView的属性页,点击事件。双击RowCommand右边的

空白,就会转到.CS代码编辑页面,并自动生成按钮事件的接口。(

如下图)

  protected void GridView1_RowCommand(object sender,

GridViewCommandEventArgs e)
    {
    }

Title行删除按钮的响应事件

 

Code
  protected void GridView1_RowCommand(object sender,

GridViewCommandEventArgs e)
    {
        if ("del" == e.CommandName)
        {
            con.Open();
            int idx = Convert.ToInt16(e.CommandArgument

.ToString());
            string hid= GridView1.DataKeys[idx

].Value.ToString();
            string sqldel = "delete from T_CourseInfo where

HomeworkID='"+hid+"'";
            SqlCommand cmd = new SqlCommand(sqldel,con );
            cmd.ExecuteNonQuery();
            con.Close();
            GridView1.DataBind();

        }
     说明:函数的参数e,传回来两个重要信息,一个是

e.CommandName,另一个是e.CommandArgument。前者的值是按钮的标

志,以方便在有两个以上按钮的时候选定特定的按钮。后者的值是

按钮所在的行号。如,0,1,...
     然而,对数据库的操作都是以数据表的主键来实现的,但e只

传回来一个行号,这怎么办呢?
     其实GridView是可以把行号和主键关联起来的。在GridView的

属性页,把DataKeyNames的值设为该数据表的主键字段就可以了。

如下:
      int  idx = Convert.ToInt16(e.CommandArgument

.ToString());
     string  hid= GridView1.DataKeys[idx ].Value.ToString

();
     idx的值便是按钮所在的行号,Hid的值便是第idx行的主键。
     有了主键,数据库的操作就非常简单了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-580660/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-580660/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值