1. 程式人生 > >C# combox控制元件下拉列表模糊查詢

C# combox控制元件下拉列表模糊查詢

 //預設查詢全部,可以選擇取消
private void FrmAddShang_Load(object sender, EventArgs e)
        {
            SqlConnection conn = DB.lianjie();
            conn.Open();
            SqlCommand cmd = new SqlCommand("select * from bb_chucun", conn);
            SqlDataReader sdr = cmd.ExecuteReader();
            while (sdr.Read())
            {
                com.Items.Add(sdr["name"].ToString());
            }
            sdr.Close();
            conn.Close();
        }
//下拉列表模糊查詢功能實現用TextUpdate
 private void com_TextUpdate_1(object sender, EventArgs e)
        {//查詢前先清除
            this.com.Items.Clear();
//滑鼠指標順序
            this.com.SelectionStart = this.com.Text.Length;
   //保持滑鼠指標原來狀態,有時候滑鼠指標會被下拉框覆蓋,所以要進行一次設定。
            Cursor = Cursors.Default;
//自動出現下拉列表
            this.com.DroppedDown = true;
            string s = com.Text.Trim();              //獲取輸入內容

            //查詢資料庫表中所有已錄入人員
            SqlConnection conn = DB.lianjie();
            conn.Open();
            string sq = "select * from bb_chucun where name like '%" + s + "%'";
            SqlCommand cmd = new SqlCommand(sq, conn);
            SqlDataReader sdr = cmd.ExecuteReader();
   List<string> sList = new List<string>();    //存放資料庫查詢結果
            while (reader.Read())
            {
               sList.Add(reader["kehu"].ToString());
            }
            if (sList.Count != 0)
            {
                this.comboBox1.Items.AddRange(sList.ToArray());
                this.comboBox1.SelectionStart = this.comboBox1.Text.Length;
            }
            else
            {
                this.comboBox1.Items.Add("");
                this.comboBox1.SelectionStart = this.comboBox1.Text.Length;
            }
            sdr.Close();
            conn.Close();
        }