原創(chuàng)|其它|編輯:郝浩|2012-10-09 16:11:07.000|閱讀 15803 次
概述:本文詳細(xì)介紹了DevExpress中的lookupedit的使用方法。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
綁定數(shù)據(jù)源:
lookupedit.properties.valuemember = 實(shí)際要用的字段; //相當(dāng)于editvalue lookupedit.properties.displaymember =要顯示的字段; //相當(dāng)于text lookupedit.properties.datasource = 數(shù)據(jù)源;
判斷是否選擇下拉框:
if(this.lookupedit.editvalue==null ||this.lookupedit.editvalue.tostring()=="nulltext") { //提示信息,說(shuō)明未選擇下拉框 }
清空nulltext值:
lookupedit.properties.nulltext=null;
設(shè)置nulltext值:
lookupedit.properties.nulltext=“請(qǐng)您選擇”;
使用lookupedit1的值:
變量=this.lookupedit.editvalue.tostring() //是ookupedit.properties.valuemember的值 變量=this.lookupedit.text.trim() //是ookupedit.properties.displaymember 的值
特別值得注意的是,有時(shí)候我們要使用lookupedit來(lái)實(shí)現(xiàn)combox的一些效果,在實(shí)際的使用過(guò)程中在程序加載的時(shí)候會(huì)默認(rèn)的選擇第一項(xiàng),它的設(shè)置是:
lookupedit.itemindex=0; //選擇第一項(xiàng) lookupedit.itemindex=-1; //無(wú)選項(xiàng),此時(shí)顯示的是nulltext值 其實(shí)這個(gè)地方只要editvalue==null,lookupedit就顯示nulltext lookupedit1.editvalue=value;//自動(dòng)搜索datasouse,選擇與之匹配的值,沒(méi)有的情況下賦值null ,value的值必須與valuemember的數(shù)據(jù)類(lèi)型一致。
在gridview中你選擇一條記錄,那么利用bindingsourse.current就可以獲得你要選擇的數(shù)據(jù),如果是實(shí)體類(lèi)就可以(object)進(jìn)行強(qiáng)制轉(zhuǎn)換,然后 進(jìn)行一些其它的操作。
但是,lookupedit在你選擇一條記錄的時(shí)候,bindingsourse.current的值永遠(yuǎn)是第一條記錄,要想獲得你選擇數(shù)據(jù)源的記錄,必須利用lookupedit.getdatasoursebykeyvalue(keyvalue),(object)進(jìn)行強(qiáng)制轉(zhuǎn)這樣就可以了。但是你要注意的就是keyvalue必須是你數(shù)據(jù)源中的主鍵,否則你獲取的是相同鍵的第一個(gè)記錄。如果遇到多鍵值決定一條記錄怎么辦呢?
這個(gè)問(wèn)題dev express也有他相應(yīng)的解決辦法,就是用到gridlookupedit,它該是gridview和lookupedit的結(jié)合體吧,利用這個(gè)你就可以選擇主鍵相同的記錄了,利用gridlookupeditview.getdatasourcerowindex(gridlookupeditview.focusedrowhandle)就可以了。
實(shí)例綁定方法
//綁定lookUpEdit private void BoundData() { string sql = "select daID,xm,sfzh from baseinfo"; DataSet ds = Archives.DataAccess.DataSql.Query(sql); if (ds != null) { int rows = ds.Tables[0].Rows.Count; lookUpEdit1.EditValue = "daID"; lookUpEdit1.Properties.ValueMember = "daID"; lookUpEdit1.Properties.DisplayMember = "xm"; lookUpEdit1.Properties.DataSource = ds.Tables[0]; //自適應(yīng)寬度 //lookUpEdit1.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup; //填充列 lookUpEdit1.Properties.PopulateColumns(); //設(shè)置列屬性 //lookUpEdit1.Properties.Columns[0].Visible = false; lookUpEdit1.Properties.Columns[1].Caption = "姓名"; lookUpEdit1.Properties.Columns[2].Caption = "身份證號(hào)"; lookUpEdit1.Properties.Columns[1].Width = 120; lookUpEdit1.Properties.Columns[2].Width = 300; //控制選擇項(xiàng)的總寬度 lookUpEdit1.Properties.PopupWidth = 500; //列格式設(shè)置 lookUpEdit1.Properties.Columns[0].FormatString = "000000"; //選擇第一項(xiàng) lookUpEdit1.ItemIndex = 0; } } //值改變事件 private void lookUpEdit1_EditValueChanged(object sender, EventArgs e) { string daID = this.lookUpEdit1.EditValue.ToString(); //是ookUpEdit.Properties.ValueMember的值 string xm = this.lookUpEdit1.Text.Trim(); }
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載