• 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的组合,即显示下拉列表也自动补全。

    最终结果效果图:

  • 相关阅读:
    前端 network
    C语言的安装及使用
    c语言
    mongodb
    大型网站--负载均衡架构
    双机热备ROSE HA工作原理
    Linux vmstat命令实战详解
    管理员必备的20个Linux系统监控工具
    linux top命令详解
    linux命令TOP参数load average详解[转]
  • 原文地址:https://www.cnblogs.com/Geton/p/3801562.html
Copyright © 2020-2023  润新知