原創|其它|編輯:郝浩|2012-10-09 16:11:07.000|閱讀 15803 次
概述:本文詳細介紹了DevExpress中的lookupedit的使用方法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
綁定數據源:
lookupedit.properties.valuemember = 實際要用的字段; //相當于editvalue lookupedit.properties.displaymember =要顯示的字段; //相當于text lookupedit.properties.datasource = 數據源;
判斷是否選擇下拉框:
if(this.lookupedit.editvalue==null ||this.lookupedit.editvalue.tostring()=="nulltext") { //提示信息,說明未選擇下拉框 }
清空nulltext值:
lookupedit.properties.nulltext=null;
設置nulltext值:
lookupedit.properties.nulltext=“請您選擇”;
使用lookupedit1的值:
變量=this.lookupedit.editvalue.tostring() //是ookupedit.properties.valuemember的值 變量=this.lookupedit.text.trim() //是ookupedit.properties.displaymember 的值
特別值得注意的是,有時候我們要使用lookupedit來實現combox的一些效果,在實際的使用過程中在程序加載的時候會默認的選擇第一項,它的設置是:
lookupedit.itemindex=0; //選擇第一項 lookupedit.itemindex=-1; //無選項,此時顯示的是nulltext值 其實這個地方只要editvalue==null,lookupedit就顯示nulltext lookupedit1.editvalue=value;//自動搜索datasouse,選擇與之匹配的值,沒有的情況下賦值null ,value的值必須與valuemember的數據類型一致。
在gridview中你選擇一條記錄,那么利用bindingsourse.current就可以獲得你要選擇的數據,如果是實體類就可以(object)進行強制轉換,然后 進行一些其它的操作。
但是,lookupedit在你選擇一條記錄的時候,bindingsourse.current的值永遠是第一條記錄,要想獲得你選擇數據源的記錄,必須利用lookupedit.getdatasoursebykeyvalue(keyvalue),(object)進行強制轉這樣就可以了。但是你要注意的就是keyvalue必須是你數據源中的主鍵,否則你獲取的是相同鍵的第一個記錄。如果遇到多鍵值決定一條記錄怎么辦呢?
這個問題dev express也有他相應的解決辦法,就是用到gridlookupedit,它該是gridview和lookupedit的結合體吧,利用這個你就可以選擇主鍵相同的記錄了,利用gridlookupeditview.getdatasourcerowindex(gridlookupeditview.focusedrowhandle)就可以了。
實例綁定方法
//綁定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]; //自適應寬度 //lookUpEdit1.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup; //填充列 lookUpEdit1.Properties.PopulateColumns(); //設置列屬性 //lookUpEdit1.Properties.Columns[0].Visible = false; lookUpEdit1.Properties.Columns[1].Caption = "姓名"; lookUpEdit1.Properties.Columns[2].Caption = "身份證號"; lookUpEdit1.Properties.Columns[1].Width = 120; lookUpEdit1.Properties.Columns[2].Width = 300; //控制選擇項的總寬度 lookUpEdit1.Properties.PopupWidth = 500; //列格式設置 lookUpEdit1.Properties.Columns[0].FormatString = "000000"; //選擇第一項 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(); }
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載