winform中ComboBox利用AutoComplete屬性實現模糊查詢(有缺陷)

  上一篇文章是用ComboBox裏面的原生事件實現模糊查詢,操做比較靈活一些,可是收到評論說,利用AutoComplete屬性就能夠實現模糊查詢,可是據本人所瞭解,AutoComplete雖然可以方便的實現模糊查詢,可是有必定的缺陷,就是,模糊查詢只能從左往右。html

  上一篇鏈接地址:http://www.cnblogs.com/xilipu31/p/3993049.html數據庫

  下面是簡單的實現方式:this

  前臺:一個簡單的form窗體+ComboBox控件spa

  後臺:申明List<string> listOnit用於初始化ComboBox的備選數據,而後設置ComboBox屬性:AutoCompleteSource(自動完成數據源),AutoCompleteMode(提示類型)以及AutoCompleteCustomSource(綁定數據源)。3d

  具體代碼以下:orm

  

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TimerDemo
{
    public partial class Form3 : Form
    {
        //初始化綁定默認關鍵詞(此數據源能夠從數據庫取)
        List<string> listOnit = new List<string>();

        public Form3()
        {
            InitializeComponent();
        }

        private void Form3_Load(object sender, EventArgs e)
        {
            BindComboBox();
        }

        /// <summary>
        /// 綁定ComboBox
        /// </summary>
        private void BindComboBox()
        {
            listOnit.Add("張三");
            listOnit.Add("張思");
            listOnit.Add("張五");
            listOnit.Add("王五");
            listOnit.Add("劉宇");
            listOnit.Add("馬六");
            listOnit.Add("孫楠");
            listOnit.Add("那英");
            listOnit.Add("劉歡");

            //自動完成數據源
            this.comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
            //提示類型  建議列表+自動補全
            this.comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            //綁定數據源
            this.comboBox1.AutoCompleteCustomSource.AddRange(listOnit.ToArray());
        }
    }
}

 如下是實現效果截圖:htm

從左到右輸入關鍵詞模糊查詢(例如輸入:張)blog

 

能夠得出正確的提示和結果。事件

若是不是從左到右的模糊查詢呢?(例如輸入:三)ip

 

能夠看出,並不能將模糊數據查詢出來。

 

總結:

  ComboBox控件的AutoComplete事件能夠用在模糊查詢程度不高,從左到右的關鍵詞搜索,若是想實現高級的模糊查詢,仍是本身定義的方式比較靈活一些。

相關文章
相關標籤/搜索