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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在单击 GridView 控件按钮时,将引发 RowCommand 事件GridView 控件具有内置功能,用于进行编辑、删除和分页等操作。 还可以添加按钮并使用 RowCommand 事件向控件添加自定义功能。 可以通过下面的方式向 GridView 控件添加自定义功能: 向 GridView 控件添加 ButtonField 字段。 向 GridView 控件的模板添加 Button、LinkButton 或 ImageButton 控件。 可以使用事件参数的 CommandName 属性在事件处理程序方法标识按钮的功能。 如果使用的是 ButtonField 或 TemplateField 对象,则还可以使用 CommandArgument 属性来标识当前行。 使用的是 ButtonField 对象时,CommandArgument 属性自动设置为行索引。 使用的是 TemplateField 对象时,控件不会自动设置 CommandArgument 属性。 在这种情况下,如果必须在事件处理程序确定行索引,则可以使用数据绑定表达式将该按钮的 CommandArgument 属性设置为行索引。 响应 GridView 控件按钮事件按钮的 CommandName 属性设置为标识其功能的字符串,如“打印”或“复制”。 如果使用的是 TemplateField 对象并且必须在事件处理程序方法访问行索引,则将按钮的 CommandArgument 属性设置为标识当前行的表达式。 下面的示例演示如何将 TemplateField 列某个按钮的 CommandArgument 属性设置为当前行索引。 在该示例,该列包含一个显示购物车的 Button 控件。 VBC#C++F#JScript 复制不支持该语言或没有可用的代码示例。 VBC#C++F#JScript 复制 <asp:Button ID="AddButton" runat="server" CommandName="AddToCart" CommandArgument="" Text="Add to Cart" /> 为 GridView 控件的 RowCommand 事件创建一个方法。 在该方法,执行下列操作: 检查事件参数对象的 CommandName 属性来查看传入什么字符串。 如果需要,使用 CommandArgument 属性检索包含该按钮的行的索引。 为用户单击的按钮执行相应的逻辑。 下面的示例演示响应 GridView 控件按钮单击的方法。 在该示例,TemplateField 列按钮发送命令“AddToCart”。 RowCommand 事件处理程序确定被单击的按钮。 如果被单击的是购物车按钮,则代码执行相应的逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值