最近看到 伍华聪 的博客里, DevExpress 组件那个效果很好看,特别是
LookUpEdit GridLookUpEdit 这两个控件,完美改善了 WinForm 里的 ComboBox
今天拿它在程序里试用,遇着不少让人纠结的地方,写出来供看此文章的人参考,以免掉同一坑里。
1. Properties 这个属性里有更多调节选项,比如 右边多出一个 √
你也可以在 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