利用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 = "";
        }
    }

时间: 2024-09-21 20:17:43

利用sender的Parent获取GridView中的当前行(获取gridview的值)_实用技巧的相关文章

ASP.NET GridView中文本内容无法换行(自动换行/正常换行)_实用技巧

最近做项目的时候,遇到这样一个问题:我用GridView来显示课程表,每个单元格的内容包括课程名.上课地点.教师姓名,然后我想让它们分行显示,效果如下图: 可是呢,GridView太顽强了,不管我拼接字符串时用"\r\n"还是"<br/>",结果都无济于事,都不分行显示.经过近半天的时间查询资料,最终终于解决了这个问题,下面就与大家分享一下. GridView中的换行问题可以分为两类:一类是自动换行,另一类是正常换行. 先说第一类:自动换行 GridVi

asp.net中C#获取字符串中汉字的个数的具体实现方法_实用技巧

符串可以包括数字,字母,汉字或者其他的字符.使用Char类型的IsDigit静态方法可以判断字符串中的字符是否为数字,使用Char类型中的IsLetter静态方法可以判断字符串中是否为字母.我们来实现一种方法来实现判断字符串中是否为汉字,通过此方法可以计算字符串中汉字的个数,运行效果如图: 首先根据效果图设置好Form的界面和内容,Box1.Text为输入的字符串,我们对该字符串的处理,来计算汉字的个数,双击Buton控件,编辑其单击事件代码. 我们看下汉字的Unicode范围,普遍给出了0x4

asp.net GridView中超链接的使用(带参数)_实用技巧

方法1.使用<a>标签, 前台: 复制代码 代码如下: <a href='<%# "OrigImageShow.aspx?id=1&image_id="+Eval("ID")%>' id="tb_search" runat="server" target="_blank">  弹出  </a> <a href='Javascript:alert(

ASP.NET使用gridview获取当前行的索引值_实用技巧

在用GridView控件时,我们经常会碰到获取当前行的索引,通过索引进行许多操作.例如,可以获得当前行某一个控件元素:设置某一元素的值等等.下面结合实例介绍几种获得GridView当前行索引值的方法. 实例: ① 目的:获取GridView中RowCommand的当前索引行. ② 前台页面:在GridView中添加一模版列,里面添加一个LinkButton控件. 代码: <asp:TemplateField HeaderText="操作"> <ItemTemplate

asp.net 获取Gridview隐藏列的值_实用技巧

在Gridview 的 RowCreated事件中书写如下代码: 复制代码 代码如下: void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header) { //隐藏第1列 e.Row.Cells[0].Visible = false; //

asp.net中session的原理及应用详解_实用技巧

Session简介丶特性 -------------------------------------------------------------------------------- 1.Session是一种Web会话中的常用状态之一. 2.Session提供了一种把信息保存在服务器内存中的方式.他能储存任何数据类型,包含自定义对象. 3.每个客户端的Seesion是独立存储的. 4.在整个会话过程中,只要SessionID的cookie不丢失,都会保存Session信息的. 5.Sessi

利用ASP.NET MVC和Bootstrap快速搭建响应式个人博客站(一)_实用技巧

1.0 为什么要做这个博客站? 因此,我下决心开发一个个人技术博客站.主要原因是:可以整合各种宝贵资源,将知识变为宝库:可以借此巩固加强一下自己的"全栈"基础:记录工作生活中遇到的问题及其解决方案:可以帮助遇到同样问题的网友. 2.0 简单介绍下此个人博客用到的技术点 可以先点击进去看看.地址是http://www.zynblog.com该博客站基于ASP.NET MVC + EF6.0,采用Bootstrap响应式布局搭建,因此使用IE8以下的浏览器访问时可能会出现错位等一系列问题.

asp.net gridview列宽固定的几种方法介绍_实用技巧

1.在编辑列里面,直接就有设置列宽度的!如果你不想单元格的内容把单元格撑大,那么就加一个样式<style>table{table-layout:fixed}</style>,意思就是每列都固定为最初设置的样式,不再变化,超出的部分隐藏 2.可以设置gridview中编辑列下面的某一列的属性<HeaderStyle Width="8%"></HeaderStyle>,这样可以得到按屏幕的百分之多少显示 3.你这个肯定是设置了gridview

C#中遍历各类数据集合的方法总结_实用技巧

C#中遍历各类数据集合的方法,这里自己做下总结: 1.枚举类型 复制代码 代码如下: //遍历枚举类型Sample的各个枚举名称 foreach (string sp in Enum.GetNames(typeof(Sample))) { ary.Add(sp); } //遍历枚举类型Sample的各个枚举值 foreach (string sp in Enum.GetValues(typeof(Sample))) { ary.Add(sp); } 2.遍历ArrayList(Queue.Sta