一、LookUpEdit控制項介紹
LookUpEdit控制項是Windows Form控制項中的一個下拉列表框,它可以用於數據的篩選和選擇。與普通下拉列表框相比,LookUpEdit控制項支持數據綁定,可以自動從綁定的數據源中載入數據,並且可以根據用戶輸入在下拉列表框中進行過濾,方便用戶選擇需要的數據。
二、數據源綁定
使用LookUpEdit控制項前,需要先將數據源綁定到控制項上。數據源可以是一個DataTable或一個List集合。例如,我們可以將一個名為”users”的DataTable綁定到LookUpEdit控制項的DataSource屬性:
lookUpEdit1.Properties.DataSource = users;
如果數據源是List集合,還需要設置DisplayMember和ValueMember屬性,指定集合中作為顯示文本和選中值的屬性:
lookUpEdit1.Properties.DisplayMember = "Name"; lookUpEdit1.Properties.ValueMember = "Id"; lookUpEdit1.Properties.DataSource = userList;
三、LookUpEdit控制項屬性設置
當數據源綁定完成後,我們可以通過設置LookUpEdit控制項的一些屬性,進一步控制下拉列表框的使用方式。例如,我們可以設置允許用戶輸入的文本與下拉列表框中的數據相匹配:
lookUpEdit1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard; lookUpEdit1.Properties.AutoComplete = true; lookUpEdit1.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
其中,TextEditStyle屬性表示允許用戶輸入的文本與列表中的數據進行匹配,可以設置為Standard,AutoComplete或Disabled;AutoComplete屬性表示啟用自動完成功能,可以根據用戶輸入的文本進行過濾;BestFitMode屬性表示下拉列表框的最佳匹配模式,可以設置為BestFit,BestFitResizePopup或None。
四、數據過濾和選擇
用戶在LookUpEdit控制項的下拉列表框中輸入文本時,控制項會自動根據輸入的文本進行過濾,只顯示與文本匹配的數據。如果輸入的文本與數據源中的多條數據匹配,用戶可以通過向上或向下箭頭鍵選擇需要的數據,或者直接點擊下拉列表框中的數據來進行選擇。當用戶選擇完數據後,選中的數據會自動顯示在LookUpEdit控制項中:
private void lookUpEdit1_EditValueChanged(object sender, EventArgs e) { // 獲取選擇的數據 object selected = lookUpEdit1.EditValue; // 將選中的數據顯示在控制項中 textBox1.Text = selected.ToString(); }
五、完整示例代碼
以下是一個完整的LookUpEdit控制項應用示例代碼:
private void Form1_Load(object sender, EventArgs e) { // 創建數據源 DataTable users = new DataTable(); users.Columns.Add("Id", typeof(int)); users.Columns.Add("Name", typeof(string)); users.Columns.Add("Age", typeof(int)); users.Rows.Add(1, "張三", 20); users.Rows.Add(2, "李四", 25); users.Rows.Add(3, "王五", 30); // 綁定數據源 lookUpEdit1.Properties.DisplayMember = "Name"; lookUpEdit1.Properties.ValueMember = "Id"; lookUpEdit1.Properties.DataSource = users; // 設置控制項屬性 lookUpEdit1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard; lookUpEdit1.Properties.AutoComplete = true; lookUpEdit1.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup; } private void lookUpEdit1_EditValueChanged(object sender, EventArgs e) { // 獲取選擇的數據 object selected = lookUpEdit1.EditValue; // 將選中的數據顯示在控制項中 textBox1.Text = selected.ToString(); }
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291023.html