利用sender的Parent获取GridView中的当前行(转自Web.网际浪人)

看论坛里很多人都在问如果获取GridView当行的问题,
当然解决这个问题有好几个方法:
1 加RowCommand事件中,判断请求的发出按钮控件名,根据传递的参数来获取当前行中我们需要的参数。
2 GridView设置datakeynames方式。
……
以上方法实现不再累赘。

今天给大家介绍一种最方便,也最满足日常思维的好办法:
采用控件事件的sender的Parent来获取cell对象,再取cell的上级对象,也就是row对象了。简单吧!

示例如下:
在第三列中放了一个模板列,放入了一个CheckBox,想法是在选中时,设置第四列Lable状态标识为“T”,取消选中时,第四列Lable状态标识清空



CheckBox直接在模板列中双击,加入以下代码即可。
     protected   void  CheckBox1_CheckedChanged( object  sender, EventArgs e)
    
{
         CheckBox chk = (CheckBox) sender;

        DataControlFieldCell dcf = (DataControlFieldCell)chk.Parent;
        GridViewRow gvr = (GridViewRow)dcf.Parent;


        if (chk.Checked)
         {
            Label lab = (Label)gvr.Cells[3].FindControl("Label1");
            lab.Text = "T";
        }
        else
         {
            Label lab = (Label)gvr.Cells[3].FindControl("Label1");
            lab.Text = "";
        }
    }
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值