在文本框中显示建议

时间:2014-02-07 11:39:10

标签: c# winforms sql-server-2008 textbox autosuggest

我正在处理销售发票中的销售发票我在其相关字段中自动填写产品数据,例如当用户在产品代码文本框中输入产品代码时,产品名称和产品价格文本框会自动通过检索自行填写来自DB的数据,我希望当用户在此处启动类型代码时,程序会提供有关数据库中所有产品的建议。比如当用户输入1时,程序会给出关于产品代码的建议,从1开始的产品代码会显示自己,用户只需选择他想要的产品代码。

我在产品代码文本框的文本更改事件上所做的代码是

 private void textBox2_TextChanged(object sender, EventArgs e)
        {
            if (txtProductCode1.Text == "")
            {
                txtProductName1.Text = "";
                txtQty.Text = "";
                txtSalePrice.Text = "";
                txtTotal.Text = "";
            }
            string sql = "select productprice, ProductName";
            sql += "  from dbo.productlog";
            sql += " where productCode = '" + txtProductCode1.Text + "'"; // Placing ProductCode in single quotes because it's not an int column, but a varchar column, in SQL server


            SqlConnection cn = new SqlConnection();
            SqlCommand rs = new SqlCommand();
            SqlDataReader sdr = null;
            clsConnection clsCon = new clsConnection();

            clsCon.fnc_ConnectToDB(ref cn);

            rs.Connection = cn;
            rs.CommandText = sql;
            sdr = rs.ExecuteReader();

            if (sdr.Read())
            {

                txtProductName1.Text = sdr["ProductName"].ToString();
                txtSalePrice.Text = sdr["ProductPrice"].ToString();
            }

            else if (txtProductName.Text == "")
            {
                goto exitPoint;

            }

            else if (!sdr.Read())
            {
                MessageBox.Show("Data not found", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtProductName.Focus();
            }

        exitPoint:
            sdr.Close();
            rs = null;
            cn.Close();
        }

如何在文本框中显示有关产品代码的建议?

编辑:

它没有一个windform应用程序意味着它是一个基于桌面的应用程序,我使用VS2010在C#.net中创建它

1 个答案:

答案 0 :(得分:1)