DevExpress 中 用 LookUpEdit 控件 代替 ComboBoxEdit 控件来绑定 DataTable
绑定数据及定义列信息
LookUpEdit lue = lookUpEdit1;
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("name"));
dt.Columns.Add(new DataColumn("code"));
DataRow row = dt.Rows.Add();
row["name"] = "tom";
row["code"] = "";
row = dt.Rows.Add();
row["name"] = "Jack";
row["code"] = "";
lue.Properties.DataSource = dt; // 绑定数据源
lue.Properties.DisplayMember = "name"; // 指定显示字段
lue.Properties.ValueMember = "code"; // 指定值字段
LookUpColumnInfo col; // 定义列信息
LookUpColumnInfo col2;
col = new LookUpColumnInfo("code", "编码"); // 定义列信息 对应的字段名称及字段表头即Caption
col.SortOrder = ColumnSortOrder.Descending; // 指定列排序(貌似只能对第一列进行排序)
// col.Visible = false; // 控制列是否显示(往往用在对ID或是编码等主键值进行隐藏显示)
lue.Properties.Columns.Add(col); // 向 LookUpEdit 中添加列
col2 = new LookUpColumnInfo("name", "姓名");
//col2.SortOrder = ColumnSortOrder.Ascending;
lue.Properties.Columns.Add(col2);
读取选中值:
MessageBox.Show(string.Format(" {0} : {1} ",lookUpEdit1.EditValue, lookUpEdit1.Text));
设置 null值的显示:
// 清除选择:
lookUpEdit1.EditValue = null; // Null值时显示
lookUpEdit1.Properties.NullText = "空值"; // Null值或当没有焦点时显示的Text
lookUpEdit1.Properties.NullValuePrompt = "请选择";
以上为自己参考网络上写的,以下为摘自网络: http://www.cnblogs.com/ruixue/archive/2013/03/19/2968793.html
DevExpress LookUpEdit和ComboBoxEdit部分用法
LookUpEdit
、绑定列 (注意点:LookUpEdit1的FieldName要和绑定的列明一致)
方式一:
•LookUpEdit1.Properties.DisplayMember = "attrib2Name";
•LookUpEdit1.Properties.ValueMember = "attrib2";
•LookUpEdit1.Properties.DataSource = dataset1.Tables["TDefSeason"];
方式二:(注意:若采用方式二绑定又赋值的话,数据源可能会变掉,此中情况下最好采用第一种方式)
•LookUpEdit1.DataBindings.Add("EditValue", dataset1.Tables["TDefSeason"], "attrib2");
•LookUpEdit1.Properties.DataSource = dataset1.Tables["TDefSeason"];
、赋值
•LookUpEdit1.EditValue="";
、列显示为百分号:
• LookUpEdit1.Properties.MaskType="Numeric";
• LookUpEdit1.Properties.EditMask="p"; (若要显示输入不超过100%,则设为"#0.00%"
ComBoxEdit
、comboBoxEdit1.Properties.Items[comboBoxEdit1.SelectedIndex].ToString() 使用前需要先确认 comboBoxEdit1.SelectedIndex不能等于-,不然报错。
、ComboBoxEdit也是DevExpress winform控件中经常使用的一个,我们在使用的过程中可能有时需要对ComboBoxEdit控件进行数据绑定,而ComboBoxEdit控件不像LookUpEdit控件拥有DataSource属性,可以直接绑定一个数据集。
//手工添加ComboBoxEdit的数据源
comboBoxEdit1.Properties.Items.Clear();
foreach (DataRow row in this.ColorData.Rows)
{
comboBoxEdit1.Properties.Items.Add(row["ColorCode"]);
}
、设置comboBoxEdit的下拉框只读,不允许编辑,只需设置其Properties的 TextEditStyle的值为 DisableTextEditor即可。
摘自网络: DevExpress.XtraEditors.LookUpEdit基本用法
http://hi.baidu.com/renrsh/item/463c07d9202c2ae7b3f777a4
在**_Load里 首先,从DB取得的数据:SqlDataReader myDataReader = myCommand.ExecuteReader(); 然后, using(DataTable dt = new DataTable())
{
dt.Load(myDataReader);
lokPurchaseSlipkbn.Properties.DataSource = dt;
lokPurchaseSlipkbn.Properties.DisplayMember = "kbn_control_kbn";
lokPurchaseSlipkbn.Properties.ValueMember = "l_name"; Column追加
LookUpColumnInfoCollection colCollection1 = lokPurchaseSlipkbn.Properties.Columns;
colCollection1.Clear();
colCollection1.Add(new LookUpColumnInfo("l_name","",));
int dropDown1 = (dt == null || dt.Rows.Count > LOK_VIEW_MAXROW) ? LOK_VIEW_MAXROW : dt.Rows.Count;
lokPurchaseSlipkbn.Properties.DropDownRows = dropDown1;
lokPurchaseSlipkbn.Properties.BestFit();
lokPurchaseSlipkbn.Properties.PopupWidth = ;
} gridView的用法:首先要配置好view,然后用法是一样的。 Properties.NullTest = [未选择]时,LookUpEdit选择其他的值时,Properties.AllowNullInput = true; LookUpEdit控件数据绑定例子 try { KPMISDataBase dc = new KPMISDataBase(); ddlOutOrg.Properties.Columns.Clear(); var query = from o in dc.Bas_Organization join p in dc.Fin_OrgAccount on o.Org_ID equals p.Org_ID where p.Acct_Status == "正常" select new { o.Org_ID, o.Org_Name }; DataTable dt = query.Distinct ().ToDataTable(rec => new object[] { query }); if (dt.Rows.Count > ) { DataRow dr = dt.NewRow(); dr["Org_ID"] = ""; dr["Org_Name"] = "--请选择--"; dt.Rows.InsertAt(dr, ); ddlOutOrg.Properties.Columns.Add(new LookUpColumnInfo("Org_Name")); ddlOutOrg.Properties.ValueMember = "Org_ID"; ddlOutOrg.Properties.DisplayMember = "Org_Name"; ddlOutOrg.Properties.DataSource = dt; ddlOutOrg.EditValue = dt.Rows[]["Org_ID"]; } else { ddlOutOrg.Properties.DataSource = null; ddlOutOrg.Properties.NullText = "--没有数据--"; } } catch (Exception ex) { MsgBox.ErrShow(ex.Message); } dev 控件 lookupedit 设置选项值
使用lookupedit1的值:
变量=this.lookupedit.editvalue.tostring() //是ookupedit.properties.valuemember的值
变量=this.lookupedit.text.trim() //是ookupedit.properties.displaymember 的值
特别值得注意的是,有时候我们要使用lookupedit来实现combox的一些效果,在实际的使用过程中在程序加载的时候会默认的选择第一项,它的设置是:
lookupedit.itemindex=; //选择第一项
lookupedit.itemindex=-; //无选项,此时显示的是nulltext值 其实这个地方只要editvalue==null,lookupedit就显示nulltext
lookupedit1.editvalue=value;//自动搜索datasouse,选择与之匹配的值,没有的情况下赋值null ,value的值必须与valuemember的数据类型一致。 ComboBoxEdit数据绑定 <整理:冰河渔者 --> ComboBoxEdit也是DevExpress winform控件中经常使用的一个,我们在使用的过程中可能有时需要对ComboBoxEdit控件进行数据绑定,而ComboBoxEdit控件不像LookUpEdit控件拥有DataSource属性,可以直接绑定一个数据集。
下面我们使用 ComboBoxEdit的comboBoxEdit1.Properties.Items.Add(object item)方法来实现数据绑定. .先用GetAreaDataTable方法返回一个DataTable,代码如下:
public static DataTable GetAreaDataTable()
{
string sqlStr = "select BMMC from usiCLB where BMLID=3";
DataBase db = new DataBase();
DataTable dt = db.GetDataTable(sqlStr);
return dt;
} .然后将数据循环添加到ComboBoxEdit中,代码如下:
private void LoadComboBoxEdit()
{
this.comboBoxEdit1.Properties.NullText = "请选择...";
DataTable dt = UserInfo.GetAreaDataTable();
for (int i = ; i < dt.Rows.Count; i++)
{
comboBoxEdit1.Properties.Items.Add(dt.Rows[i]["BMMC"].ToString());
}
} 允许输入自定义值 LookupEditor1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;
DevExpress 中 用 LookUpEdit 控件 代替 ComboBoxEdit 控件来绑定 DataTable的更多相关文章
- DevExpress中的lookupedit的使用方法详解
摘自: http://***/zh-CN/Info/catalog/17631.html 概述:本文详细介绍了DevExpress中的lookupedit的使用方法. 绑定数据源: 1 2 3 l ...
- devexpress中gridview控件编辑时改变输入法状态
在win7环境下使用Devexpress中的SpinEdit控件,切换成中文[简/繁]输入法输入数字键时有不少输入法会重复产生数字如输入1会变成11,输入123会变成112233.使用SpinEdit ...
- 使用Devexpress中的CharControl控件,需要控制AxisY轴的显示范围,需要使用该控件的BoundDataChanged事件
一.控制ChartControl的Y轴范围 使用Devexpress中的CharControl控件,需要控制AxisY轴的显示范围,需要使用该控件的BoundDataChanged事件,具体代码如下: ...
- 玩转控件:重绘DEVEXPRESS中DateEdit控件 —— 让DateEdit支持只选择年月 (提供源码下载)
前言 上一篇博文<玩转控件:重绘ComboBox —— 让ComboBox多列显示>中,根据大家的回馈,ComboBox已经支持筛选了,更新见博文最后最后最后面. 奇葩 这两天遇到 ...
- 在DevExpress中使用CameraControl控件进行摄像头图像采集
在我们以前的项目了,做摄像头的图片采集,我们一般还是需要做一个封装处理的,在较新版本的DevExpress控件里面,增加了一个CameraControl控件,可以直接调用摄像头显示的,因此也可以做头像 ...
- DevExpress控件的GridControl控件小结
DevExpress控件的GridControl控件小结 (由于开始使用DevExpress控件了,所以要点滴的记录一下) 1.DevExpress控件组中的GridControl控件不能使横向滚动条 ...
- VS环境下,DEV插件的ComboBoxEdit控件最简单的数据源绑定和获取方法
使用 ComboBoxEdit 控件绑定key/value值: 因为 ComboBoxEdit 没有 DataSource 属性,所以不能直接绑定数据源,只能一项一项的添加. 首先创建一个类ListI ...
- winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法
winform中button点击后再点击其他控件致使button失去焦点,此时button出现黑色边线,去掉黑色边线的方法 button的FlatAppearence属性下,设置BorderSize= ...
- iOS开发中的错误整理,关于用绑定Tag取控件的注意事项,有时候不绑定也是个错!
如图:红色框中是个自定义的导航工具条titlesView(没有绑定Tag),工具条中有五个按钮(按钮绑定了Tag)以及一个红色的指示器indicatorView(没有绑定Tag),下面的蓝色是可以滚动 ...
随机推荐
- APP线上问题收集信息整理
常话说“软件是不能保证百分百没有bug的”,因此当我们的APP上线之后,市场的使用人员会反馈一些我们测试人员可能在测试时遗漏的问题,包括也不防会有一些需求的反馈,这些问题均由售后人员反馈整理,以一种方 ...
- [BZOJ4025] 二分图 LCT/(线段树分治+并查集)
4025: 二分图 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 2667 Solved: 989[Submit][Status][Discuss] ...
- hdu5731
先求出不考虑分割线的n*m棋盘的覆盖方案数记为f[n][m] 然后枚举列分割线的状态(状压),计算此时不存在行分割线的方案数 求出这个我们就可以用容斥原理算出答案了 怎么算在列分割线确定的情况下,不存 ...
- 急!急!急!请问win32api参数乱码如何解决!
我想做一个QQ自动登陆,使用的QQ是2009.现在先模拟打开QQ,然后通过api调用回调函数.回调函数为一个委托方法,但是在方法中整个参数乱码,请问如何解决? 具体流程为,启动QQ,获取当前启动QQ的 ...
- es6中对象的一些操坐
变量的赋值 key值得构建 对象的严格检测 对象的合并 1.变量的赋值: let name='宋宇',age='17岁': let obj={name,age} //快速的将变量引入到对象中去. 2. ...
- CrudRepository.findOne报错
踩坑,写controller,用到了Repository.findOne(id);一直报错,发现CrudRepository没有方法. 排查原因是JAR包的原因. 我之前是2.0.1 springbo ...
- bzoj 4327 AC自动机
思路:将能跑到的状态标记一下,在bfs搜一下就好啦. #include<bits/stdc++.h> #define LL long long #define ll long long # ...
- Python进程间通信:Queue
Python进程间通信Queue 1.Queue使用方法: Queue.qsize():返回当前队列包含的消息数量: Queue.empty():如果队列为空,返回True,反之False : Que ...
- 转:Spring学习笔记---Spring Security登录页
转:http://axuebin.com/blog/2016/06/21/spring-security/?utm_source=tuicool&utm_medium=referral. 提示 ...
- python的版本会导致IBus设置(中文输入法)出错
最近在学习python,可是,发现我的输入法 IBus-pinyin ,不能用了, 现象: 发现 “首选输入法”,根本点击不进去IBus设置的窗口,想去设置输入法都不行, IBus设置的窗口: 原因是 ...