.net常用技能之:GridView按钮列

GridView中按钮列-ButtonField使用心得一二:

在为GridView添加按钮列时,使用,net环境默认提供的可视化操作界面“添加字段”中,会提供以下选项:

当选择界面中选项名为“命令名”,值为“Cancel”时,需要在后台页面当中追加RowCancelingEdit事件,否则当运行页面后,点击该按钮,会报出异常,提示如下:“GridView“GridView1”激发了未处理的事件“RowCancelingEdit”

 

但我本人原来的用意是想取消页面当中的员工外出状态,即通过更改员工外出状态表当中外出状态值(即IsOut),将其由原来的“1”(表示“外出”)置为“0”(表示“已回公司”),因此在这里并不需要借助默认的取消事件“RowCancelingEdit”只需要定义事件“RowCommand”即可。

 

1.右击前台页面,选择“查看代码”;

2. 定义事件“RowCommand 代码如下:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)

    {

       //判断GridView中按钮名称是否为“End

        if (e.CommandName == "End")

        {

            receiveinfor = new Receiveinform();

            //定义业务逻辑层操作类的实例

 

            int index = Convert.ToInt32(e.CommandArgument);

            int hideOutId = (int)GridView1.DataKeys[index].Value;            

           

            //更新员工外出状态值,返回更新后影响的行数

            int res = receiveinfor.UpdateOutStatus(hideOutId);

 

            //如果更新成功,刷新GridView的值

            if (res > 0)

            {

                BindGrid();

            }

            else

            {

                Response.Redirect("<script>alert('对不起,请重试!');</script>");

                return;

            }

        }

    }

代码说明:

上面的代码中涉及到以下两句话:

int index = Convert.ToInt32(e.CommandArgument);

int hideOutId = (int)GridView1.DataKeys[index].Value;

 

第一句是用来获取gridview控件中点击按钮列“end”时,控件中某一行的索引值(e.CommandArgument,需要注意的是控件默认的不同事件里面,获得某一行的索引值,不同事件有不同的方法。

例如上述的RowCommand事件中使用属性 e.CommandArgument,而在RowCancelingEdit事件中使用属性 e.RowIndex。需要注意区分。

第二句,使用GridviewDataKeys属性,获取gridview控件定义的某一行的主键值,结果返回至整形变量hideOutId中去。 

         

 

转载于:https://www.cnblogs.com/myroad/archive/2009/11/15/RowCommand.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值