开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 10762|回复: 19

Dev控件系列之LookupEdit

[复制链接]

0

精华

134

贡献

117

赞扬

帖子
151
软币
1620
在线时间
90 小时
注册时间
2013-6-8
发表于 2013-6-25 18:53:09 | 显示全部楼层 |阅读模式
本帖最后由 眯眼笑 于 2013-6-25 19:24 编辑

Dev控件系列之LookupEdit

最近在使用这套控件,但发现网上相关的文章很少,所以生出自己写点东东的想法,一方面可以自己做个备忘,另一方面,希望能帮到其它的朋友,少走弯路...  

LookupEdit作为Dev系统中常用的控件之一,功能之强就不用说了,废话少说,先看一张使用效果图片.

http_imgload.jpg

这里仅介绍一下简单的用法,当然,这只是本人自己使用过程中用到的,至于更复杂的应用,以后用到再加进来.

第一步,当然是数据源的绑定啦~~
DataTable dtClient = XXX.XXX();//获取数据表,您自个儿搞定^_~
//以上图为例,这里假设此表为公司资料表,表结构为(CompanyID,CompanyName,City,Address,Phone)
//选中后选中字段为CompanyName,值字段为ClinetID
lookupEdit1.Properties.DataSource = dtClient; //指定数据源
lookupEdit1.Properties.ValueMember = "CompanyID";
lookupEdit1.Properties.DisplayMember = "CompanyName";
搞定,这样就能显示数据了,
但我想隐藏其中的CompanyID字段不显示,并且将英文列名修改成中文,怎么办呢?

第二步,LookupEdit的Columns的操作
LookupEdit的Columns不会像DataGrid一样,绑定了DataSource就会自动生成Columns集合,所以,
如果这时候这样操作列,是会报错嘀,呵呵...
lookupEdit1.Properties.Columns["CompanyID"].Visible = false;
PS.为了搞清楚这点,可是浪费了几个小时,最后到官方硬着头皮看英文,才知道这点...汗,英文不好的下场~

先添加列到列集合里:
lookupEdit1.Properties.Columns.Clear();
lookupEdit1.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("CompanyID"));
lookupEdit1.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("CompanyName"));
lookupEdit1.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("City"));
lookupEdit1.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Address"));
lookupEdit1.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("Phone"));
lookupEdit1.Properties.Columns["CompanyID"].Visible = false;//隐藏
lookupEdit1.Properties.Columns["CompanyName"].Caption = "公司名称";
lookupEdit1.Properties.Columns["City"].Caption = "城市";
lookupEdit1.Properties.Columns["Address"].Caption = "地址";
lookupEdit1.Properties.Columns["Phone"].Caption = "电话";
PS.其实,在new DevExpress.XtraEditors.Controls.LookUpColumnInfo("CompanyID")的时候,有多个重载,可以直接指定列名和列宽.

第三步,取出值
lookupEdit1.Text        //可取出DisplayMember
lookupEdit1.EditValue   //可取出ValueMember


其它:
//设置TextEditStyle属性,能使LookupEdit不能输入,只能选择
lookupEdit1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
//设置ShowDropDown属性,可调整下拉框弹出的方式
lookupEdit1.Properties.ShowDropDown = DevExpress.XtraEditors.Controls.ShowDropDown.SingleClick;
//选择第一项
lookUpEdit.Itemindex=0;
//无选项   
lookUpEdit.Itemindex=-1;
//指定值
lookUpEdit1.Editvalue=value

更多的:以后再加,先到这儿了.

是不是很简单呢,希望能帮到您~~

评分

参与人数 10贡献 +3 赞扬 +10 收起 理由
miniprince + 1 很给力
maple + 1 感谢分享
X丶° + 1 很给力
grsmichael + 1 Thanks
zhu6006 + 1 很给力

查看全部评分

回复

使用道具 举报

0

精华

5091

贡献

5271

赞扬

管理员

帖子
1149
软币
20959
在线时间
4315 小时
注册时间
2013-6-7

黄马甲

发表于 2013-6-25 18:57:41 | 显示全部楼层
QQ空间图片未经允许不可引用
回复

使用道具 举报

0

精华

134

贡献

117

赞扬

帖子
151
软币
1620
在线时间
90 小时
注册时间
2013-6-8
 楼主| 发表于 2013-6-25 19:01:14 | 显示全部楼层
天堂羽叶 发表于 2013-6-25 18:57
QQ空间图片未经允许不可引用

是我自己空间的图片,你们看不到图片吗?
回复

使用道具 举报

0

精华

5091

贡献

5271

赞扬

管理员

帖子
1149
软币
20959
在线时间
4315 小时
注册时间
2013-6-7

黄马甲

发表于 2013-6-25 19:06:13 | 显示全部楼层
眯眼笑 发表于 2013-6-25 19:01
是我自己空间的图片,你们看不到图片吗?

是呢,QQ空间的图片只有自己能看到··
你保存下来直接传到论坛图片就可以了
回复

使用道具 举报

0

精华

134

贡献

117

赞扬

帖子
151
软币
1620
在线时间
90 小时
注册时间
2013-6-8
 楼主| 发表于 2013-6-25 19:24:49 | 显示全部楼层
天堂羽叶 发表于 2013-6-25 19:06
是呢,QQ空间的图片只有自己能看到··
你保存下来直接传到论坛图片就可以了 ...

现在看到了吗?
回复

使用道具 举报

0

精华

5091

贡献

5271

赞扬

管理员

帖子
1149
软币
20959
在线时间
4315 小时
注册时间
2013-6-7

黄马甲

发表于 2013-6-25 19:40:26 | 显示全部楼层

这下看到了
回复

使用道具 举报

0

精华

10

贡献

90

赞扬

帖子
31
软币
349
在线时间
21 小时
注册时间
2013-6-15
发表于 2013-7-3 08:38:03 | 显示全部楼层
谢谢,提供这样好的东西。
回复

使用道具 举报

0

精华

940

贡献

167

赞扬

正版授权组

Rank: 14Rank: 14Rank: 14Rank: 14

帖子
237
软币
2692
在线时间
264 小时
注册时间
2013-6-17
发表于 2013-7-4 00:28:41 | 显示全部楼层
好东西,谢谢
回复

使用道具 举报

0

精华

0

贡献

1

赞扬

帖子
116
软币
2038
在线时间
233 小时
注册时间
2013-7-18
发表于 2013-7-19 09:33:51 | 显示全部楼层
这是不是 .NET 原本的 DataGridView ? 只是增强许多, 这样比喻是否正确呢?

謝謝, 我也來試看看.
回复

使用道具 举报

0

精华

14

贡献

29

赞扬

帖子
21
软币
316
在线时间
21 小时
注册时间
2013-6-26
发表于 2013-7-26 11:26:55 | 显示全部楼层
marola 发表于 2013-7-19 09:33
这是不是 .NET 原本的 DataGridView ? 只是增强许多, 这样比喻是否正确呢?

謝謝, 我也來試看看.

应该说是增强版的combobox。
回复

使用道具 举报

0

精华

1

贡献

0

赞扬

帖子
10
软币
137
在线时间
10 小时
注册时间
2013-9-15
发表于 2013-9-16 04:45:01 | 显示全部楼层
Jzh 发表于 2013-7-26 11:26
应该说是增强版的combobox。

简直是干货呀。谢谢无私奉献!送你一朵小红花。
回复

使用道具 举报

0

精华

26

贡献

18

赞扬

帖子
34
软币
238
在线时间
20 小时
注册时间
2013-6-10
发表于 2013-9-20 16:13:10 | 显示全部楼层
人气太冷呀。。。。。。。。。。。。。
回复

使用道具 举报

0

精华

2

贡献

8

赞扬

帖子
18
软币
206
在线时间
22 小时
注册时间
2013-10-8
发表于 2013-10-8 22:38:07 | 显示全部楼层
你好,请问如果我想根据列表里的任何一列的内容来模糊匹配的话,该如何改造?目前好像是默认按照displayMember的列来查询的。
回复

使用道具 举报

0

精华

275

贡献

2247

赞扬

正版授权组

Rank: 14Rank: 14Rank: 14Rank: 14

帖子
211
软币
7145
在线时间
633 小时
注册时间
2013-12-13
发表于 2013-12-14 12:18:09 | 显示全部楼层
本帖最后由 66767376 于 2013-12-14 12:21 编辑
renyi818 发表于 2013-10-8 22:38
你好,请问如果我想根据列表里的任何一列的内容来模糊匹配的话,该如何改造?目前好像是默认按照displayMem ...

你说的是实时检索,貌似要在事件里实现。
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
6
软币
86
在线时间
1 小时
注册时间
2013-12-28
发表于 2013-12-30 14:09:21 | 显示全部楼层
好东西,刚接触Dev...很有帮助啊
回复

使用道具 举报

0

精华

8

贡献

134

赞扬

帖子
76
软币
640
在线时间
57 小时
注册时间
2014-1-13
发表于 2014-1-13 18:29:37 | 显示全部楼层
呵呵,刚才刚问了一个关于comboxEdit控件的问题,在这里找到了我想要的答案。感谢楼主了。
回复

使用道具 举报

0

精华

0

贡献

18

赞扬

帖子
43
软币
239
在线时间
17 小时
注册时间
2014-4-18
发表于 2014-4-18 02:45:20 | 显示全部楼层
非常好,感谢辛勤劳动。
回复

使用道具 举报

0

精华

1

贡献

0

赞扬

帖子
21
软币
128
在线时间
9 小时
注册时间
2014-12-12
发表于 2014-12-26 09:58:23 | 显示全部楼层
学习,保存起来用到的时候复制
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
5
软币
60
在线时间
0 小时
注册时间
2015-3-10
发表于 2015-3-10 13:48:39 | 显示全部楼层
用GridLookUpEidtor可以解决列模糊筛选的问题
回复

使用道具 举报

0

精华

0

贡献

513

赞扬

帖子
95
软币
1110
在线时间
69 小时
注册时间
2017-8-2
发表于 2024-2-21 17:12:25 | 显示全部楼层
Thanks for Sharing.
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-4-28 00:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表