在前一个项目中用到了DevExpress,需要搜索某一个字段,来拉取出对应的相关信息,比来比去,发现SearchLookUpEdit的用户体验更好,但自己是个不折不扣的C#和DevExpress的初学者,在折磨一阵度娘之后,发现还是说LookUpEdit控件的多,真正讲解SearchLookUpEdit的寥寥无几,伍华聪的博客虽然提到,但说的也是犹抱琵琶半遮面。于是参考Demo,在一边摸索一边用中总结了一些东西出来,现在分享给大家。
1.我们拖动SearchLookUpEdit至Form中,现在SearchLookUpEdit的默认值为[EditValue is null],这里我重命名为 SearchLookUpEdit_Code, 如图:
2.我这里没有用Run Designer来静态绑定数据源,而是动态的使用代码来绑定,这也符合我们大多数人的风格,容易控制,否则改的会非常麻烦,代码:
1 string sqlstr = "select Dept, Code, Name, Storage, Location from Code order by Code"; 2 ClassConnSQL ccs = new ClassConnSQL(); 3 DataTable dt = ccs.GetTableSQL(sqlstr);
4 searchLookUpEdit_Code.Properties.ValueMember = "Code"; 5 searchLookUpEdit_Code.Properties.DisplayMember = "Code"; 6 searchLookUpEdit_Code.Properties.DataSource = dt;
前三行不讲,这是拉取数据的方式,相信大家也懂(因为我算是C#最菜的那种了)。
第四行,表示SearchLookUpEdit对应的值成员,第五行,表示SearchLookUpEdit对应的显示成员,我这里表示的都是代码,所以都用了"Code"。
第六行,表示SearchLookUpEdit的数据源为自数据库拉取的数据表dt。
至此,我们已经成功绑定数据源并可以显示数据了,现在可以在跳出的编辑框中键入搜索内容进行模糊匹配,这时表格中匹配到的内容会变色提示。
如图:
PS:你可能注意到我的默认值是 [编辑框为空],这是因为我将Devexpress官方汉化包zh-chs文件放到了运行目录,已经自动汉化了。
3.现在我们可以对一些细节进行微调,比如:
①BestFitMode:这是调整最佳适应模式,有三种模式可选。
None:弹出的窗口使用默认大小,列的长度默认相同宽度。
BestFit:列的宽度自适应。
BestFitResizePopup:弹窗的窗口自适应大小。
②ShowClearButton:是否显示清除按钮
...
其他一些细节属性也比较容易看懂,大家可以改变一下试试效果。
4.特别提到值更改的事件 EditValueChanged ,当值出现更改时会触发此事件,我们就可以做一些赋值处理等。
以上就是我对SearchLookUpEdit的总结,由于是初学,难免会有错误,欢迎批评指正,如果有什么疑问,也可以提出来,大家共同进步。