给gridview动态生成radiobutton添加OnCheckedChanged监听函数
在写研究生系统审核功能的时候,有一个页面的gridview动态生成四列radiobutton,在gridview控件外有四个radiobutton分别控制这四列的全选中。那么当外面的某个全选按钮选中后,改变gridview里面的radiobutton选择,对应的全选按钮选中情况应该发生变化。为了实现该功能,需要在写好了radiobutton的OnCheckedChanged监听函数并添加到aspx页面后,再在gridview的RowDataBound事件中加入声明。
aspx页面部分代码:
<asp:TemplateField HeaderText="学位类别" SortExpression="gdxw"><ItemTemplate><%# Eval("gdxw")%></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField><asp:TemplateField HeaderText="同意" SortExpression="xwkyqxf"><ItemTemplate><asp:RadioButton ID="TySy" runat="server" GroupName="bjyj" AutoPostBack="True" OnCheckedChanged="check_TySy" /></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField><asp:TemplateField HeaderText="不同意" SortExpression="zdkxxf"><ItemTemplate><asp:RadioButton ID="BtySy" runat="server" GroupName="bjyj" AutoPostBack="True" OnCheckedChanged="check_BtySy"/></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField><asp:TemplateField HeaderText="同意推迟" SortExpression="kkzyxkxf"><ItemTemplate><asp:RadioButton ID="TyTcsy" runat="server" GroupName="bjyj" AutoPostBack="True" OnCheckedChanged="chenk_TyTcsy" /></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField><asp:TemplateField HeaderText="弃权" SortExpression="xwkyqcj"><ItemTemplate><asp:RadioButton ID="Qq" runat="server" GroupName="bjyj" AutoPostBack="True" OnCheckedChanged="chenk_Qq" /></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField>
加入声明代码如下:
//给每个RadioButton1绑定setRadio事件try{((RadioButton)e.Row.FindControl("TySy")).Attributes.Add("OnCheckedChanged", "chenk_TySy");((RadioButton)e.Row.FindControl("BtySy")).Attributes.Add("OnCheckedChanged", "chenk_BtySy");((RadioButton)e.Row.FindControl("TyTcsy")).Attributes.Add("OnCheckedChanged", "chenk_TyTcsy");((RadioButton)e.Row.FindControl("Qq")).Attributes.Add("OnCheckedChanged", "chenk_Qq");}catch (Exception){ }
OnCheckedChanged函数:
#region 授予选择发生改变//同意授予发生变化protected void check_TySy(object sender, EventArgs e){//记录同意授予项个数int t = gvData.Rows.Count;for (int i = 0; i <= gvData.Rows.Count - 1; i++){RadioButton TySy = (RadioButton)gvData.Rows[i].Cells[5].FindControl("TySy");if (TySy.Checked == true){//存在同意授予项QbBty.Checked = false;QbTc.Checked = false;QbQq.Checked = false;}else{t--;}//Response.Write("<script>window.alert('进入同意授予发生变化方法。')</script>"); }if (t == gvData.Rows.Count){//全为同意授予项QbTy.Checked = true;}else{//存在非同意授予项QbTy.Checked = false;}}//同意延迟授予发生变化protected void chenk_TyTcsy(object sender, EventArgs e){//记录同意推迟授予项int t = gvData.Rows.Count;//循环个同意推迟授予项for (int i = 0; i <= gvData.Rows.Count - 1; i++){RadioButton TyTcsy = (RadioButton)gvData.Rows[i].Cells[7].FindControl("TyTcsy");if (TyTcsy.Checked == true){//存在一个同意延迟授予项QbTy.Checked = false;QbBty.Checked = false;QbQq.Checked = false;}else{t--;}}if (t == gvData.Rows.Count){//全为同意推迟授予项QbTy.Checked = true;}else{//存在非同意延迟授予项QbTy.Checked = false;}}//不同意授予发生变化protected void check_BtySy(object sender, EventArgs e){//记录不同意授予个数int t = gvData.Rows.Count;//循环个不同意授予项for (int i = 0; i <= gvData.Rows.Count - 1; i++){RadioButton BtySy = (RadioButton)gvData.Rows[i].Cells[6].FindControl("BtySy");//取出个不同意授予项if (BtySy.Checked == true){//存在一个不同意授予项则将其余全选项置为falseQbTy.Checked = false;QbTc.Checked = false;QbQq.Checked = false;}else{t--;}}// if (t == gvData.Rows.Count){//全为不同意授予项QbBty.Checked = true;}else{//存在非不同意授予项QbBty.Checked = false;}}//弃权发生变化protected void chenk_Qq(object sender, EventArgs e){//记录选中个数int t = gvData.Rows.Count;//循环查看个选项for (int i = 0; i <= gvData.Rows.Count - 1; i++){RadioButton Qq = (RadioButton)gvData.Rows[i].Cells[8].FindControl("Qq");//取出每一行的弃权项if (Qq.Checked == true){//如果存在一个弃权项,则所有的全选都置为falseQbTy.Checked = false;QbBty.Checked = false;QbTc.Checked = false;}else{t--;}}if (t == gvData.Rows.Count){//全部选择弃权QbQq.Checked = true;}else{//存在非弃权项QbQq.Checked = false;}}#endregion
转载于:https://www.cnblogs.com/lenga/archive/2012/12/21/2827996.html
给gridview动态生成radiobutton添加OnCheckedChanged监听函数相关推荐
- 给gridview动态生成radiobutton添加OnCheckedChanged事件
在写研究生系统审核功能的时候,有一个页面的gridview动态生成四列radiobutton,在gridview控件外有四个 radiobutton分别控制这四列的全选中.那么当外面的某个全选按钮选中 ...
- 4、oracle使用网络管理工具—Net Manager添加本地监听程序
4.oracle使用网络管理工具-Net Manager添加本地监听程序 Net Manager 具有和Net Configuration Assistant 相似的功能.Net Configurat ...
- JS事件汇总,addEventListener添加事件监听
JS事件汇总 JavaScript 事件 JS事件汇总 鼠标事件 键盘事件 表单事件 读取事件 onload与onpageshow事件区别 其它事件 addEventListener()添加事件监听 ...
- js: 添加事件监听addEventListener、移除事件监听removeEventListener
文档 https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener https://developer.m ...
- 【方案篇】事件监听函数的内存泄漏,帮你搞定!不谢!!!
本文是 理论篇 ,还有下篇 代码篇. 前言 工作中,我们会对window, DOM节点,WebSoket, 或者单纯的事件中心等注册事件监听函数. // window window.addEventL ...
- vue+百度地图——事件监听函数的绑定和解绑
事件监听函数如果绑定之后不进行解绑的话,再触发其他事件的时候这个绑定时间依旧会被触发.比如: <el-button type="primary" @click="t ...
- 微信小程序的监听函数(mpvue)
参考文章:https://blog.csdn.net/xuyangxinlei/article/details/81408200 参考文章:https://blog.csdn.net/u0130347 ...
- JavaScript中绑定事件监听函数的通用方法[ addEvent() ]
上篇文章讲到了事件绑定的3中常用方法:传统绑定.W3C绑定方法.IE绑定方法.但是,在实际开发中对于我们来讲重要的是需要一个通用的.跨浏览器的绑定方法.如果我们在互联网上搜索一下会发现许多方法,一下是 ...
- Unity学习笔记:监听函数有什么卵用?(似乎就是从一件事过渡到另一件事?)
Unity学习笔记:监听函数有什么卵用?(似乎就是从一件事过渡到另一件事?) 个人学习经验,仅供参考,欢迎各位码友批评指正. 做项目敲代码时,一直不是很理解监听函数是个什么玩意. 按我目前的理解,说白 ...
最新文章
- java json开发包 fastjson 简介
- 电脑高手常用的5个按钮
- Posftix邮箱服务
- 数据科学和人工智能技术笔记 十六、朴素贝叶斯
- SonicWall 督促客户立即修复NSM 本地版本漏洞
- 全球人工智能人才培养与发展趋势
- 目标检测的模型集成方法及实验
- 100项PPT制作技术
- 动态ActionForm
- HDU 4699(栈)
- 原标题:跆拳道在中国斗殴中被武术团灭?韩国人看后表示不服
- 在线photoshop工具网站
- 读《码农翻身:用故事给技术加点料》
- ERROR: No matching distribution found for XXXXX 国内的镜像源来加速网络
- 15款jQuery幻灯片插件
- JavaScript 原型链总结(一)
- 背景渐变色,兼容IE
- [游戏技术]L4D1支持L4D2官方地图运行方法
- 五福背后的 Web 3D 引擎 Oasis Engine 正式开源
- 云原生实践之 RSocket 从入门到落地:Servlet vs RSocket