c# comboBox模糊匹配

c# comboBox模糊匹配,

1.系统提供了顺序的匹配方式。

 comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
 comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

 本方法的确定是必须是从前往后依次匹配。如:数据项中有“中国人民”,想输入“人民”查询,结果为空。

2.自己动手做匹配:vs2008

 dtModel = new DataTable();
 string sql1 = "SELECT REPORT_TEMPLATE_CODE ,REPORT_TEMPLATE_NAME FROM REPORT_TEMPLATE WHERE BARGAIN_FORMAT='0' ";
 SystemInfo.dbData.Retrieve(sql1, dtModel);                                
foreach (DataRow dr in dtModel.Rows) { comboBox1.Items.Add(new ReportName(dr["REPORT_TEMPLATE_CODE"].ToString(), dr["REPORT_TEMPLATE_NAME"].ToString())); } comboBox1.TextUpdate+=new EventHandler(comboBox1_TextUpdate);

 

 private void comboBox1_TextUpdate(object sender, EventArgs e)
        {
            string key = this.comboBox1.Text;
            DataTable dttemp = dtModel.Clone();
            comboBox1.Items.Clear();
            if (!string.IsNullOrEmpty(key))
            {
                DataRow[] drs = dtModel.Select(string.Format(" REPORT_TEMPLATE_NAME like '%{0}%' ", key));
                if (drs != null && drs.Length > 0)
                {
                    foreach (DataRow drow in drs)
                    {
                        dttemp.Rows.Add(drow.ItemArray);
                    }
                }
            }
            else
            {
              dttemp=dtModel;
            }
            foreach (DataRow dr in dttemp.Rows)
            {
                comboBox1.Items.Add(new ReportTemplet(dr["REPORT_TEMPLATE_CODE"].ToString(), dr["REPORT_TEMPLATE_NAME"].ToString()));
            }
            comboBox1.Select(comboBox1.Text.Length, 0);
            comboBox1.DroppedDown = true;
            Cursor = Cursors.Default;
        }

 

 public class ReportName
    {
       public ReportName(string id, string name)
       {
           this._id = id;
           this._name = name;
       }
        private string _name;

        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
        private string _id;

        public string Id
        {
            get { return _id; }
            set { _id = value; }
        }

        public override string ToString()
        {
            return this.Name;
        }
    }

 

转载于:https://www.cnblogs.com/lecone/archive/2013/05/08/comboBoxAutoComplete.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值