欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

利用sender的Parent获取GridView中的当前行(获取gridview的值)

程序员文章站 2024-02-25 19:03:57
获取gridview当行有好几个方法:1 加rowcommand事件中,判断请求的发出按钮控件名,根据传递的参数来获取当前行中我们需要的参数。2 gridview设置d...


利用sender的Parent获取GridView中的当前行(获取gridview的值)

获取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 = "";
        }
    }