在前一個項目中用到了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的總結,由於是初學,難免會有錯誤,歡迎批評指正,如果有什么疑問,也可以提出來,大家共同進步。