在写研究生系统审核功能的时候,有一个页面的gridview动态生成四列radiobutton,在gridview控件外有四个radiobutton分别控制这四列的全选中。那么当外面的某个全选按钮选中后,改变gridview里面的radiobutton选择,对应的全选按钮选中情况应该发生变化。为了实现该功能,需要在写好了radiobutton的OnCheckedChanged监听函数并添加到aspx页面后,再在gridview的RowDataBound事件中加入声明。

aspx页面部分代码:

View Code

<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>

加入声明代码如下:

View Code

//给每个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函数:

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监听函数相关推荐

  1. 给gridview动态生成radiobutton添加OnCheckedChanged事件

    在写研究生系统审核功能的时候,有一个页面的gridview动态生成四列radiobutton,在gridview控件外有四个 radiobutton分别控制这四列的全选中.那么当外面的某个全选按钮选中 ...

  2. 4、oracle使用网络管理工具—Net Manager添加本地监听程序

    4.oracle使用网络管理工具-Net Manager添加本地监听程序 Net Manager 具有和Net Configuration Assistant 相似的功能.Net Configurat ...

  3. JS事件汇总,addEventListener添加事件监听

    JS事件汇总 JavaScript 事件 JS事件汇总 鼠标事件 键盘事件 表单事件 读取事件 onload与onpageshow事件区别 其它事件 addEventListener()添加事件监听 ...

  4. js: 添加事件监听addEventListener、移除事件监听removeEventListener

    文档 https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener https://developer.m ...

  5. 【方案篇】事件监听函数的内存泄漏,帮你搞定!不谢!!!

    本文是 理论篇 ,还有下篇 代码篇. 前言 工作中,我们会对window, DOM节点,WebSoket, 或者单纯的事件中心等注册事件监听函数. // window window.addEventL ...

  6. vue+百度地图——事件监听函数的绑定和解绑

    事件监听函数如果绑定之后不进行解绑的话,再触发其他事件的时候这个绑定时间依旧会被触发.比如: <el-button type="primary" @click="t ...

  7. 微信小程序的监听函数(mpvue)

    参考文章:https://blog.csdn.net/xuyangxinlei/article/details/81408200 参考文章:https://blog.csdn.net/u0130347 ...

  8. JavaScript中绑定事件监听函数的通用方法[ addEvent() ]

    上篇文章讲到了事件绑定的3中常用方法:传统绑定.W3C绑定方法.IE绑定方法.但是,在实际开发中对于我们来讲重要的是需要一个通用的.跨浏览器的绑定方法.如果我们在互联网上搜索一下会发现许多方法,一下是 ...

  9. Unity学习笔记:监听函数有什么卵用?(似乎就是从一件事过渡到另一件事?)

    Unity学习笔记:监听函数有什么卵用?(似乎就是从一件事过渡到另一件事?) 个人学习经验,仅供参考,欢迎各位码友批评指正. 做项目敲代码时,一直不是很理解监听函数是个什么玩意. 按我目前的理解,说白 ...

最新文章

  1. java json开发包 fastjson 简介
  2. 电脑高手常用的5个按钮
  3. Posftix邮箱服务
  4. 数据科学和人工智能技术笔记 十六、朴素贝叶斯
  5. SonicWall 督促客户立即修复NSM 本地版本漏洞
  6. 全球人工智能人才培养与发展趋势
  7. 目标检测的模型集成方法及实验
  8. 100项PPT制作技术
  9. 动态ActionForm
  10. HDU 4699(栈)
  11. 原标题:跆拳道在中国斗殴中被武术团灭?韩国人看后表示不服
  12. 在线photoshop工具网站
  13. 读《码农翻身:用故事给技术加点料》
  14. ERROR: No matching distribution found for XXXXX 国内的镜像源来加速网络
  15. 15款jQuery幻灯片插件
  16. JavaScript 原型链总结(一)
  17. 背景渐变色,兼容IE
  18. [游戏技术]L4D1支持L4D2官方地图运行方法
  19. 五福背后的 Web 3D 引擎 Oasis Engine 正式开源
  20. 云原生实践之 RSocket 从入门到落地:Servlet vs RSocket

热门文章

  1. 创建自定义排序用户界面
  2. 程序集注册工具 (Regasm.exe)
  3. 指针的运用与strcpy函数的优化
  4. .NET Core Generic Host项目使用Topshelf部署为Windows服务
  5. java-类(class)继承,重写,重构,抽象,接口等
  6. Python离线安装依赖包
  7. 基本概念之dos和cmd的区别
  8. 如何在敏捷框架下做好工作交接
  9. 接口转发和重定向区别(三)
  10. Serializable And Parcelable