DevExpress中的lookupedit的使用方法詳解


摘自: http://www.evget.com/zh-CN/Info/catalog/17631.html

 

 

 

概述:本文詳細介紹了DevExpress中的lookupedit的使用方法。

綁定數據源:  

1
2
3
lookupedit.properties.valuemember = 實際要用的字段;   //相當於editvalue
lookupedit.properties.displaymember =要顯示的字段;    //相當於text
lookupedit.properties.datasource = 數據源;

判斷是否選擇下拉框:

1
2
3
4
if ( this .lookupedit.editvalue== null || this .lookupedit.editvalue.tostring()== "nulltext" )
{
//提示信息,說明未選擇下拉框
}

清空nulltext值: 

1
lookupedit.properties.nulltext= null ;

設置nulltext值:

1
lookupedit.properties.nulltext=“請您選擇”;

使用lookupedit1的值:

1
2
變量= this .lookupedit.editvalue.tostring()   //是ookupedit.properties.valuemember的值
變量= this .lookupedit.text.trim()       //是ookupedit.properties.displaymember 的值

特別值得注意的是,有時候我們要使用lookupedit來實現combox的一些效果,在實際的使用過程中在程序加載的時候會默認的選擇第一項,它的設置是:

1
2
3
4
5
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)就可以了。

實例綁定方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//綁定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();
          }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM