博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
限制CheckBoxList控件只能单选
阅读量:6984 次
发布时间:2019-06-27

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

开发要求,原本对CheckBoxList控件是用来让用户多选的。但现在特殊要求,这个CheckBoxList控件限制只能单选。

哈哈,看看Insus.NET做出来的效果:

 

为了你也能实现出来,可以参考下面的方法,第一是准备好一个对象“地支”(Terrestrial Branch)

TerrestrialBranch.cs
using System;using System.Collections.Generic;using System.Linq;using System.Web;/// /// Summary description for TerrestrialBranch/// namespace Insus.NET{    public class TerrestrialBranch    {        private int _ID;        private string _Name;        public int ID        {             get{
return _ID;} set { _ID = value; } } public string Name { get { return _Name; } set { _Name = value; } } public TerrestrialBranch() { // // TODO: Add constructor logic here // } public TerrestrialBranch(int id, string name) { this.ID = id; this._Name = name; } }}

用数据填充这个对象,并用泛型List<t>来存储这十二个对象:

View Code
private List
GetData() { List
tbs = new List
(); tbs.Add(new TerrestrialBranch(1,"子")); tbs.Add(new TerrestrialBranch(2, "丑")); tbs.Add(new TerrestrialBranch(3, "寅")); tbs.Add(new TerrestrialBranch(4, "卯")); tbs.Add(new TerrestrialBranch(5, "辰")); tbs.Add(new TerrestrialBranch(6, "巳")); tbs.Add(new TerrestrialBranch(7, "午")); tbs.Add(new TerrestrialBranch(8, "未")); tbs.Add(new TerrestrialBranch(9, "申")); tbs.Add(new TerrestrialBranch(10, "酉")); tbs.Add(new TerrestrialBranch(11, "戌")); tbs.Add(new TerrestrialBranch(12, "亥")); return tbs; }

在.aspx页面拉一个CheckBoxList控件,设置两个属性RepeatColumns="6" RepeatDirection="Horizontal"

View Code

把刚才准备好的List<TerrestrialBranch>绑定给这个CheckBoxList控件:

View Code
using System;using System.Collections.Generic;using System.Data;using System.Data.OleDb;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Insus.NET;public partial class _Default : System.Web.UI.Page{           protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)            Data_Binding();    }    private void Data_Binding()    {        this.CheckBoxListTerrestrialBranch.DataSource = GetData();        this.CheckBoxListTerrestrialBranch.DataTextField = "Name";        this.CheckBoxListTerrestrialBranch.DataValueField = "ID";        this.CheckBoxListTerrestrialBranch.DataBind();    }}

OK,一切准备就绪,可以写Javascript脚本,放在<head>之内。

View Code
window.onload = function () {            var cbl = document.getElementById('<%= CheckBoxListTerrestrialBranch.ClientID %>')            var inputs = cbl.getElementsByTagName("input");            for (var i = 0; i < inputs.length; i++) {                if (inputs[i].type == "checkbox") {                    inputs[i].onclick = function () {                                                                  var cbs = inputs;                        for (var i = 0; i < cbs.length; i++) {                            if (cbs[i].type == "checkbox" && cbs[i] != this && this.checked) {                                cbs[i].checked = false;                            }                        }                    }                }            }        }

 

转载地址:http://gbqpl.baihongyu.com/

你可能感兴趣的文章
51CTO下载 好资料分享
查看>>
linux 下转换UTC到本地时间
查看>>
Linux的起源与各发行版的基本知识
查看>>
单播包、广播包、组播包、洪泛包
查看>>
iptables命令结构之命令
查看>>
RabbitMQ之Exchange分类
查看>>
综合布线系统的构成
查看>>
计算机硬件 — 计算机简介
查看>>
关于重写session实现的时候可能会导至nginx 502的问题
查看>>
7z(p7zip)压缩软件在Linux下的安装和使用
查看>>
jetbrick-template 1.1.0 发布,支持 #tag, #macro, layout
查看>>
TCP的六个控制位
查看>>
进制转换
查看>>
我的友情链接
查看>>
新书上市:《FLUENT 14.0超级学习手册》
查看>>
mysql数据库query cache
查看>>
使用docker commit 来扩展一个image
查看>>
jsp 防止sql注入 之 preparestatement篇(转载)
查看>>
Linux之Ansible入门用法(实验解析)
查看>>
Linux系统如何在开机时修改root密码
查看>>