最近看到 伍华聪 的博客里, DevExpress 组件那个效果很好看,特别是

LookUpEdit GridLookUpEdit 这两个控件,完美改善了 WinForm 里的 ComboBox

今天拿它在程序里试用,遇着不少让人纠结的地方,写出来供看此文章的人参考,以免掉同一坑里。

1.  Properties 这个属性里有更多调节选项,比如 DevExpress 组件-LMLPHP 右边多出一个 √

你也可以在 Button 属性里增加一个 × 这样右边就多出一个 ×

2.  习惯上我们会先绑定一个 DataTable 之后手动设定标题列

所以代码里

 DataTable dt = SqlHelper.GetDataTable("select 1 a,2 b");
lookUpEdit1.DataSource = dt;
lookUpEdit1.DisplayMember = dt.Columns[].ColumnName;
lookUpEdit1.Properties.Columns[].Caption = "标题一";

可这样写直接报错,提示是没找到 Columns[0]

调试发现绑定后的 Columns.Count = 0 !!

后来在国外网站上找着一行代码:

 lookUpEdit1.Properties.PopulateColumns();

但看不懂英文,拿 ILSpy 看它的实现,就是一个 for 循环给 LookUpEdit 增加列。

在修改标题前加上这行代码,OK~

// 2014年7月14日14时35分25秒

今天写代码时又遇着此问题,然后

 lookUpEdit1.Properties.ForceInitialize();
lookUpEdit1.Properties.PopulateColumns();

解决~

这个也适用于绑定后隐藏指定列。

[参考]http://www.devexpresscn.com/DevExpress-Resources/Documentation-167.html

05-27 19:39