DevExpress下拉多选框 CheckComboboxEdit、CheckedListBoxControl
CheckComboboxEdit
//清空项
checkedComboBoxEdit1.Properties.Items.Clear();
//自定义数组
string[] strs=new string[]{"新建","审批中","已完成","已撤销"};
//添加项
checkedComboBoxEdit1.Properties.Items.AddRange(strs);
//设置选中状态
if(checkedComboBoxEdit1.Properties.Items.Count>0){
//设置选中状态
checkedComboBoxEdit1.Properties.Items[strs[0]].CheckState = CheckState.Checked;
//设置选项是否可用
checkedComboBoxEdit1.Properties.Items[strs[0]].Enabled = false;
}
//取值
checkedComboBoxEdit1.EditValue.ToString();
//获取各项值 放在List集合中
List<object> List = checkedComboBoxEdit1.Properties.Items.GetCheckedValues();
//注意 当取得值是多项时,各项之间的间隔是 英文状态下 逗号+空格
//转换方法
string result = checkedComboBoxEdit1.EditValue.ToString().Replace(", ", ",");
//是否显示 确定、取消按钮
checkedComboBoxEdit1.Properties.ShowButtons = false;
//是否显示 取消按钮
checkedComboBoxEdit1.Properties.ShowPopupCloseButton = false;
//下拉显示项的个数 (设置为下拉个数加1正好可以显示全部,因为有一行是全选项)
checkedComboBoxEdit1.Properties.DropDownRows = checkedComboBoxEdit1.Properties.Items.Count + 1;
CheckedListBoxControl
//自定义一个表
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Sex");
for (int i = 0; i < 30; i++) {
DataRow dr = dt.NewRow();
dr["ID"] = i + 1;
dr["Name"]=Convert.ToString((char)(65+i))+Convert.ToString((char)(65+i));
dr["Sex"] = i % 2==0?"男":"女";
dt.Rows.Add(dr);
}
//清空项
checkedListBoxControl1.Items.Clear();
//绑定
checkedListBoxControl1.DataSource = dt;
checkedListBoxControl1.ValueMember = "ID";
checkedListBoxControl1.DisplayMember = "Name";
//全选
//checkedListBoxControl1.CheckAll();
//项的个数
int itemCount = checkedListBoxControl1.ItemCount;
//添加项(如果设置绑定,添加项无效)
checkedListBoxControl1.Items.Add("kk");
//设置选中状态、显示值、实际值、是否可用(如果设置绑定,这些将会无效)
checkedListBoxControl1.Items[0].CheckState = CheckState.Checked;
checkedListBoxControl1.Items[0].Description = "显示值";
checkedListBoxControl1.Items[0].Value = "实际值";
checkedListBoxControl1.Items[0].Enabled = false;
//效果和上面一样
checkedListBoxControl1.SetItemChecked(0, true);
checkedListBoxControl1.SetItemCheckState(0, CheckState.Checked);
checkedListBoxControl1.SetItemValue("实际值",0);
//是否被勾选
bool isChecked= checkedListBoxControl1.GetItemChecked(0);
//获取某项状态
string checkState = checkedListBoxControl1.GetItemCheckState(0).ToString();
//获取某项绑定值 valueMember
string trueValue = checkedListBoxControl1.GetItemValue(0).ToString();
//获取某项显示值 displayMember
string disValue = checkedListBoxControl1.GetDisplayItemValue(0).ToString();
string disValue2 = checkedListBoxControl1.GetItemText(0);
//是否点击一次 就改变状态
checkedListBoxControl1.CheckOnClick = true;
//是否多列显示
checkedListBoxControl1.MultiColumn = true;
//checkedListboxControl 是否获得焦点
bool isfocus=checkedListBoxControl1.ContainsFocus;
//实现单选功能
checkedListBoxControl1.SelectedIndexChanged += new EventHandler(checkedListBoxControl1_SelectedIndexChanged);
//获取选中项的绑定值(前提:手动添加的可以获取,但是datatable绑定的无法获取)
List<object> objList = checkedListBoxControl1.Items.GetCheckedValues();
void checkedListBoxControl1_SelectedIndexChanged(object sender, EventArgs e)
{
int index=checkedListBoxControl1.SelectedIndex;
for (int i = 0; i < checkedListBoxControl1.ItemCount; i++) {
if (i != index)
{
checkedListBoxControl1.SetItemChecked(i, false);
}
}
}
#region public static void SetComboBoxData(DevExpress.XtraEditors.ImageComboBoxEdit comboBox,List<T> list, string valueMember, string displayMember, string selectedText = null)
/// <summary>
/// 绑定下拉框
/// </summary>
/// <param name="comboBox">下拉控件</param>
/// <param name="List<T> ">实体集合</param>
/// <param name="valueMember">值字段</param>
/// <param name="displayMember">显示字段</param>
/// <param name="selectedText">默认选中的值</param>
public static void SetComboBoxData<T>(DevExpress.XtraEditors.ImageComboBoxEdit comboBox, List<T> list, string valueMember, string displayMember, string selectedText = null)//
{
comboBox.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
comboBox.Properties.NullText = string.Empty; foreach (var item in list)
{
comboBox.Properties.Items.Add(new ImageComboBoxItem(item.GetType().GetProperty(valueMember).GetValue(item, null).ToString(), item.GetType().GetProperty(valueMember).GetValue(item, null).ToString()));
} // //这里是设置默认选中的值
if (!string.IsNullOrEmpty(selectedText))
{
comboBox.SelectedItem = comboBox.Properties.Items.GetItem(selectedText);
}
}
#endregion
http://www.cnblogs.com/spring_wang/archive/2013/05/11/3072640.html
https://blog.csdn.net/xiaoyu812289718/article/details/43017755
https://blog.csdn.net/u013816709/article/details/48159309
DevExpress下拉多选框 CheckComboboxEdit、CheckedListBoxControl的更多相关文章
- 我的第一个jquery插件:下拉多选框
<!DOCTYPE HTML> <html> <head> <title> New Document </title> <meta n ...
- 使用jQuery为文本框、单选框、多选框、下拉框、下拉多选框设值及返回值的处理
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- angular2.x 下拉多选框选择组件
angular2.x - 5.x 的下拉多选框选择组件 ng2 -- ng5.最近在学angular4,经常在交流群看见很多人问 下拉多选怎么做... 今天就随便写的个. 组件源码 百度云 链接: ...
- 品优购商城项目(二)AngularJS、自动代码生成器、select2下拉多选框
品优购商城想项目第二阶段 AngularJS.自动代码生成器.select2下拉多选框 完成了课程第三天.第四天的的任务. 1.学习了AngularJs前端的mvc分层思想,js部分分成control ...
- 自己用ul模拟实现下拉多选框,
模拟实现下拉多选框 效果如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- jquery--获取多选框的值、获取下拉多选框的值
获取多选框的值 var packageCodeList=new Array(); $('#server_id:checked').each(function(){ packageCodeList.pu ...
- 自定义实现 PyQt5 下拉复选框 ComboCheckBox
一.前言 由于最近的项目需要具有复选功能,但过多的复选框会影响界面布局和美观,因而想到把 PyQt5 的下拉列表和复选框结合起来,但在 PyQt5 中并没有这样的组件供我们使用,所以想要自己实现一个下 ...
- selectpicker下拉多选框ajax异步或者提前赋值=》默认值
Bootstrap select多选下拉框赋值 success: function (data) { var oldnumber = new Array(); $.each(data, functio ...
- 设置Select下拉多选框功能,赋值与绑定问题
项目需要所以更改select为多选下拉的菜单选项. 我用的是后台直接绑定 在前台aspx页面直接写一个 <div id="dropsxs" runat="serve ...
随机推荐
- Windows上使用“LogView”打开大文件
最近因为工作需要要打开一个300+MB的文件,试过了N个编辑器不是打不开就是软件直接挂掉或是占用内存太大,已经严重影响了我的工作 还好在网络上找到老外写的一个免费软件,官网上说是可以打开4G+的文件( ...
- Java的泛型中,通配符可以设置上限和下限
上限:<? extends T> ?是T和T的子类 下限:<? super T> ?是T和T的父类 怎么看待这个上限和下限呢 首先应该想 其实对于Java来说 <? ex ...
- [Functional Programming 101] runWIth, evalWith, execWith
Recentlly, I am learning crocks.js ADT libaray. In the beginning, it is hard to understand when to u ...
- 把系统时间改到以前后,MyEclipse9.1的工程里的JS文件修改完保存但MyEclipse不会将其不会更新。
一个任务中,由于本周数据还没有产生,只好把系统时间修改到上周,利用下上周的数据. 修改内容主要是增加查询子句的一个字段,因此,包含SQL的DAO,前台显示的Table和前台操作的JS都需要相应修改,它 ...
- 破解无线网络密码-BT3如何使用3
BT3 虚拟机 SNOOPWEP2 破解无线网络WEP密钥图解 1.下载BT3 光盘映像文件(ISO格式),比如:bt3-final.iso: 用WinISO 或 UltraISO(这个还支持DVD ...
- jquery插件开发通用框架
2017-07-24 更新:增加单例模式. jquery插件开发框架代码: /* * 插件编写说明: * 1.插件命名:jquery.[插件名].js,如jquery.plugin.js * 2.对象 ...
- NI License Activator 用法
双击打开后,看到这种界面,将白色方格通过鼠标右击点绿就能够了. NI <wbr>License <wbr>Activator <wbr>用法 可能会出现这样的情况, ...
- Tomcat启动时选择加载项目
到tomcat\conf\Catalina\localhost下新建文件:myapp.xml 内容如下: <Context path="/myapp" docBase=&qu ...
- visudo精确用户赋权(sudo)
原文BLOG:http://iminmin.blog.51cto.com/689308/455992 sudo" 是Unix/Linux平台上的一个非常有用的工具,允许为非根用户赋予一些合理 ...
- python easy_install 发生Unable to find vcvarsall.bat错误的处理方法
用python安装mmseg分词包时发生了 Unable to find vcvarsall.bat 错误 Searching for mmseg Reading http://pypi.python ...