博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Repeter中用RadioButton生成单选按钮组的实现
阅读量:6326 次
发布时间:2019-06-22

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

我们在运用Repeter绑定数据到RadioButton在前台生成单选按钮组的时候,我们可能会遇到生成的按钮并不能实现单选这种情况,即使你设置了GroupName属性,也不会起作用。这时我们就要借助于我们强大的JS了。代码如下:

前台Repeter部分代码:

  • 全部
  • 生成的单选按钮组源码及Dome:

     

    实现单选效果的JS事件:

    View Code
    //让repeter生成的radio组为单选     function selectSingleRadio(rbtn, GroupName) {
    $("input[type=radio]").each(function (i) {
    if (this.name.substring(this.name.length - GroupName.length) == GroupName) {
    this.checked = false; } }) rbtn.checked = true; }
     //设置默认选中项     $(document).ready(function () {
            var cArray = $("#rsview input[type=radio]")         var i;         for (i = 0; i < cArray.length; i++) {
                if (cArray[i].checked) {
                    cArray[i].checked = false;             }             cArray[cArray.length - 1].checked = true;         }     }); 

    我们现在来看看在后台是如何来遍历Repeter来加载相应组中控件的值的,代码如下:

    //获得所有年月         void LoadData()         {
    NewLand dataYTD = new NewLand(-1, 0); DataSet ds = NewLandReportAdapter.Instance.GetData(dataYTD); //筛选出不重复的年份 DataTable result = ds.Tables[0].DefaultView.ToTable(true, "Years"); RepeaterYM.DataSource = result; RepeaterYM.DataBind(); //遍历RepeaterYM.加载各年的月份 foreach (RepeaterItem item in RepeaterYM.Items) {
    RadioButton year = (RadioButton)item.FindControl("Year"); string yearNow = year.Text; DataView dv = ds.Tables[0].DefaultView; dv.RowFilter = "Years=" + yearNow; DataTable dt = dv.ToTable(); DropDownList monthlist = (DropDownList)item.FindControl("MonthList"); monthlist.DataSource = dt; monthlist.DataTextField = "Months"; monthlist.DataValueField = "Months"; monthlist.DataTextFormatString = "{0}月"; monthlist.DataBind(); monthlist.Items.Insert(0, new ListItem("全部", "0")); } }

    最后再看看,后台如何获得前台选中按扭的值:

    //根据所选择的年份和月份生成报表        protected void SelectData_Click(object sender, EventArgs e)        {            string year = string.Empty;            string month = string.Empty;            //遍历Repeater 获得选中控件的值            foreach (RepeaterItem item in RepeaterYM.Items)            {                         RadioButton yearbtn = (RadioButton)item.FindControl("Year");                if (yearbtn.Checked)                {                    year = yearbtn.Text;//取得选中的年份                    DropDownList monthlist = (DropDownList)item.FindControl("MonthList");//获得选中的月份                    month = monthlist.SelectedValue;                             }            }      }

     

     

    转载于:https://www.cnblogs.com/xhwy/archive/2011/11/14/2248345.html

    你可能感兴趣的文章
    AVEVA CSG 几何图形输出接口
    查看>>
    POJ 2653 Pick-up sticks(几何)
    查看>>
    【阶段试题分析】阶段一试题总结
    查看>>
    Python 模块调用
    查看>>
    HBase篇--HBase常用优化
    查看>>
    CMarkUp介绍
    查看>>
    Java基本语法-----java流程控制语句
    查看>>
    【面试 网络协议】【第十四篇】网络协议篇
    查看>>
    指令汇B新闻客户端开发(二) 主页面布局
    查看>>
    获取文本区域(textarea)行数【换行获取输入用户名个数】
    查看>>
    Mysql常用命令详解
    查看>>
    Android中实现iPhone开关
    查看>>
    是男人就下100层【第二层】——帮美女更衣(1)
    查看>>
    Web应用程序设计十个建议
    查看>>
    //……关于报文
    查看>>
    C语言学习-进制转换、变量
    查看>>
    Base64编码及其作用
    查看>>
    20172304 2017-2018-2 《程序设计与数据结构》实验五报告
    查看>>
    第六周学习总结
    查看>>
    20个数据库设计的最佳实践
    查看>>