博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给gridview动态生成radiobutton添加OnCheckedChanged事件
阅读量:6437 次
发布时间:2019-06-23

本文共 3974 字,大约阅读时间需要 13 分钟。

hot3.png

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

aspx页面部分代码:

 

<%# Eval("gdxw")%>

加入声明代码如下://给每个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)
            {
//存在一个不同意授予项则将其余全选项置为false
                QbTy.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)
            {
//如果存在一个弃权项,则所有的全选都置为false
                QbTy.Checked = false;
                QbBty.Checked
= false;
                QbTc.Checked
= false;
            }
           
else
            {
                t
--;
            }
        }
       
if (t == gvData.Rows.Count)
        {
//全部选择弃权
            QbQq.Checked = true;
        }
       
else
        {
//存在非弃权项
            QbQq.Checked = false;
        }
    }
   
#endregion

 

转载于:https://my.oschina.net/u/579748/blog/97483

你可能感兴趣的文章
开机慢 不换SSD如何提升Windows 10开机速度
查看>>
Android键盘面板冲突 布局闪动处理方案
查看>>
阿里云E-MapReduce 创建执行计划
查看>>
数据中心里的应急关机技术
查看>>
偏见为什么是数据科学领域的一个大问题
查看>>
SAS实现四十年连续增长,2015年全球营收达31.6亿美元
查看>>
日本社交餐厅评论服务平台Retty获1050万美元D轮融资
查看>>
未来两年内的九大信息安全威胁(三)
查看>>
界面按钮太多 聊天机器人都快被玩坏了
查看>>
果断收藏!六大主流大数据采集平台架构分析
查看>>
嵌入式产品开发设计需要考虑的问题总结
查看>>
物联网还是联网物?
查看>>
以持续集成工具实现DevOps之禅
查看>>
InfoComm China 2016“全球新产品发布活动” —— 汇聚众多革新设备及技术
查看>>
格瑞光电:智慧城市建设的引领者
查看>>
超级寒潮考验智慧城市万亿投资
查看>>
Radware发布2015-2016年全球应用及网络安全报告
查看>>
从“负电价”说起:谈谈德国新能源消纳的借鉴意义
查看>>
惠普大佬:未来30年四大趋势将推动科技产业发展
查看>>
大数据视域下网络涉军舆情管控研究
查看>>