C#實現Combobox自動匹配字符


不多說了,如圖,應客戶要求,下拉框中需要自動匹配字符,可能有些人一早就對此很熟,但相對於我還是首次使用,還是花了一點時間,現記錄下來,也希望能幫助大家更好的理解.

首先要設定Combobox的DropDownStyle屬性為DropDown,而不是DropDownList.然后設定匹配數據源,有兩種方法

 第一種.采用CustomSource當做提示集合,自已構造的下拉提示內容.

 1             //經營單位
 2 
 3             AutoCompleteStringCollection strings = new AutoCompleteStringCollection();
 4             DataTable dt = customformOp.CusList().Tables[0];           
 5             if (dt.Rows.Count > 0)
 6             {
 7                 //cmbTRADE_CO.DisplayMember = "CusName";//顯示字段 
 8                 //cmbTRADE_CO.ValueMember = "Cus";
 9                 //cmbTRADE_CO.DataSource = dt;
10                 //cmbTRADE_CO.SelectedIndex = -1;
11                 for (int i = 0; i < dt.Rows.Count; i++)
12                 {
13                     strings.Add(dt.Rows[i]["CusName"].ToString());
14                 }
15             }
16 
17             cmbTRADE_CO.AutoCompleteCustomSource = strings;
18             cmbTRADE_CO.AutoCompleteSource = AutoCompleteSource.CustomSource;
19             cmbTRADE_CO.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

第二種.直接使用下拉列表中的項作為匹配的集合 (請仔細看兩代碼的區別: cmbTRADE_CO.AutoCompleteSource =??)

 1  // AutoCompleteStringCollection strings = new AutoCompleteStringCollection();
 2             DataTable dt = customformOp.CusList().Tables[0];           
 3             if (dt.Rows.Count > 0)
 4             {
 5                 cmbTRADE_CO.DisplayMember = "CusName";//顯示字段 
 6                 cmbTRADE_CO.ValueMember = "Cus";
 7                 cmbTRADE_CO.DataSource = dt;
 8                 cmbTRADE_CO.SelectedIndex = -1;
 9                 //for (int i = 0; i < dt.Rows.Count; i++)
10                 //{
11                 //    strings.Add(dt.Rows[i]["CusName"].ToString());
12                 //}
13             }
14 
15            // cmbTRADE_CO.AutoCompleteCustomSource = strings;
16             cmbTRADE_CO.AutoCompleteSource = AutoCompleteSource.ListItems;
17             cmbTRADE_CO.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

其AutoCompleteMode的4種情況各代表:

None:關閉自動補全功能

Suggest:展開下拉列表並顯示匹配的結果

Append:自動補全

SuggestAppend:Suggest和Append的組合,即顯示下拉列表也自動補全。

最終結果效果圖:

 

 


免責聲明!

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



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