CheckedListBoxControl 实现复选框的单选与多选功能
由于工作需要,需要实现复选框的单选与多选功能,找了好多资料都不是很全,经过两天苦苦的挖挖挖,终于完成啦O(∩_∩)O哈哈~
用DEV控件中的CheckedListBoxControl控件,当然VS中的复选框组合控件应该按照下面方法也可以实现该功能,可以试下(⊙o⊙)哦
代码来啦O(∩_∩)O哈哈~
//首先触发SelectedIndexChanged事件,然后再触发ItemCheck事件
//存储选中的复选框的值
string strGXY=string.Empty;
private void chkGXYGrade_SelectedIndexChanged(object sender, EventArgs e)
{
//先把所有的选择框的状态都置为不选中的状态
for (int i = ; i < chkGXYGrade.Items.Count; i++)
{
chkGXYGrade.SetItemCheckState(i, CheckState.Unchecked);
}
}
private void chkGXYGrade_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
{
//如果复选框选中的数目大于0,把选中的复选框的索引和e.Index(获取的当前选中点击的复选框的索引)比较,如果相等就把该复选框选中,否则置为非选中状态
if (chkGXYGrade.CheckedItems.Count > )
{
for (int i = ; i < chkGXYGrade.Items.Count; i++)
{
if (i != e.Index)
{
chkGXYGrade.SetItemCheckState(i, CheckState.Unchecked);
}
}
}
else
{
//如果复选框选中的数据小于0 ,则把所有的复选框的状态都置为未选中的状态
for (int i = ; i < chkGXYGrade.Items.Count; i++)
{
chkGXYGrade.SetItemCheckState(i, CheckState.Unchecked);
strGXY = string.Empty;
}
}
//循环复选框,根据选中的状态来获取选中的复选框的值
for (int i = ; i < chkGXYGrade.Items.Count; i++)
{
if (chkGXYGrade.Items[i].CheckState == CheckState.Checked)
{
strGXY = chkGXYGrade.GetItemText(i).ToString();
}
}
}
级别只能选择一个事件
//记录复选框选中的状态
CheckState csGXB; //存储复选框选中的值(多选以‘/’区分 )
string strGXB = string.Empty; //先触发SelectedIndexChanged事件,再触发ItemCheck事件
private void chbGXBlb_SelectedIndexChanged(object sender, EventArgs e)
{
switch (csGXB)
{
case CheckState.Checked: strGXB = string.Empty;
for (int i = ; i < chbGXBlb.Items.Count; i++)
{
//获取选中的复选框的值
if (chbGXBlb.GetItemChecked(i))
{
if (strGXB == string.Empty)
{
strGXB = chbGXBlb.GetItemText(i);
}
else
{
strGXB += "/" + chbGXBlb.GetItemText(i);
}
}
}
break;
case CheckState.Unchecked:
strGXB = string.Empty;
for (int i = ; i < chbGXBlb.Items.Count; i++)
{
if (chbGXBlb.GetItemChecked(i))
{
if (strGXB == string.Empty)
{
strGXB = chbGXBlb.GetItemText(i);
}
else
{
strGXB = strGXB + "/" + chbGXBlb.GetItemText(i);
}
}
}
break; } } private void chbGXBlb_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
{
// e.State,获取当前复选框的选中还是未选中的状态(Checked 或UnChecked)
csGXB = e.State;
chbGXBlb_SelectedIndexChanged(null, null);
}
多选:根据选择改变获取值
CheckedListBoxControl 实现复选框的单选与多选功能的更多相关文章
- 【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
视频地址:http://v.qq.com/page/m/8/c/m0150izlt8c.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...
- Bootstrap 表单和图片 (内联表单,表单合组,水平排列,复选框和单选框,下拉列表,校验状态,添加额外的图标,控制尺寸,图片)
一.表单 基本格式 注:只有正确设置了输入框的 type 类型,才能被赋予正确的样式. 支持的输入框控件 包括:text.password.datetime.datetime-local.date.m ...
- 如何让checkbox复选框只能单选
function框架div 如何让checkbox复选框只能单选 在项目开发中遇到一个这样的问题,要让一列复选框架在任何时间段内只能选择一个. 有人说怎么不用单选框了,因为单选框一旦选择了就不能取消选 ...
- 把复选框变成单选框(prop,attr的区别)
如果项目中需要统一样式的话,有可能会遇到把复选框变成单选框的需求. 下面是用jquery的简单实现 $(function(){ $("input[type='checkbox']" ...
- Jquery学习笔记:操作form表单元素之二(复选框和单选框)
在上面文章的基础上,我们介绍如何操作表单元素中的 复选框和单选框. 一.复选框 <label> <input type="checkbox" id="i ...
- 10个HTML5美化版复选框和单选框
单选框Radiobox和复选框checkbox在网页中也十分常见,虽然它没有按钮的交互性强,但是如果能把它们像按钮那样美化一下,那也是非常不错的.本文收集了10个相对比较漂亮的美化版单选框和复选框,希 ...
- 复选框、单选框样式自定义(https://www.cnblogs.com/freedom-feng/p/11346396.html)
复选框.单选框样式自定义(https://www.cnblogs.com/freedom-feng/p/11346396.html)复选框html内容如下:<input type="c ...
- 通过jquery将多选框变单选框
多选框的name值为checkboxlist是复选框选中后更换其他复选框状态. function queryListByParam(e){ $("input[name='checkboxli ...
- 吾八哥学Selenium(三):操作复选框checkbox/单选框radio的方法
复选框checkbox和单选框radio是web网站里经常会使用到的两个控件,那么在web自动化测试的时候如何利用Selenium来操作这俩控件呢?今天我们就来简单入门练习一下! html测试页面代码 ...
随机推荐
- 《利用python进行数据分析》读书笔记--第五章 pandas入门
http://www.cnblogs.com/batteryhp/p/5006274.html pandas是本书后续内容的首选库.pandas可以满足以下需求: 具备按轴自动或显式数据对齐功能的数据 ...
- Android 进程常驻----开机广播的简单守护以及总结
这是一个轻量级的库,配置几行代码,就可以实现在Android上实现进程常驻,也就是在系统强杀下,以及360获取root权限下,clean master获取root权限下都无法杀死进程 支持系统2.3到 ...
- Tips collection of iOS development
<转>UITableView当数据很少的时候,去掉多余的cell分割线 在tableView初始化的时候 UIView *v = [[UIViewalloc] initWithFram ...
- web前端之html5开发中常用的开发工具
正所谓“工欲善其事,必先利其器”,对Web开发人员来说,好工具的使用总会给人带来事半功倍的效果.正准备学习HTML5或者已经进行了一段时间的HTML5开发的童鞋,都有必要了解下,HTML5都有哪些开发 ...
- EasyUI---tree
EasyUI的tree在获取action返回的json字符串时最少具有三个属性id.text和children,这样在读取时才会在页面正常显示树形 这里比较重要的就是在数据库中对数据的存储吧,说白了还 ...
- iscroll 下拉刷新功能
版本号:iscroll4.2.5.js iscroll 版本很有关系 在线: demo链接 有出现白屏的bug,将iscroll版本改成iscroll4.2.5就可以了 html <!DO ...
- HTTP协议的报文结构
HTTP 有两类报文: (1) 请求报文----从客户向服务器发送请求报文,见图6-12(a). (2) 响应报文----从服务器到客户的回答,见图6-12(b). 由于 HTTP是面向文本的(tex ...
- Node 编程规范
空格, 2个, 因为有多层函数嵌套 行宽, 80个字符 语句分隔, 一律用; 并且占一行 变量定义, 每一个都要用 var, 并且不要定义全局变量 变量名和属性名, 小驼峰, yourName 函数, ...
- TCP/IP协议学习(四) 基于C# Socket的Web服务器---静态资源处理
目录 1. C# Socket通讯 2. HTTP 解析引擎 3. 资源读取和返回 4. 服务器测试和代码下载 Web服务器是Web资源的宿主,它需要处理用户端浏览器的请求,并指定对应的Web资源返回 ...
- 导出excel用ajax不行,提交form表单可以
导出excel用ajax不行,提交form表单可以. 一直用ajax找原因,网页不出现下载提示框 写了 response.setContentType("application/binary ...