ComboBox绑定后不显示文本

时间:2016-11-29 08:03:08

标签: c#

我刚刚将我的组合框绑定到数据库,但它没有显示我的值。但是,我可以通过下拉框的长度看到值在其中但是不可见。

我只是点击一个值,它确实有效并带我到下一个表格。但是,如何才能使这些值可见?

  private void StudentLogin_Load(object sender, EventArgs e)
    {
        con = new SqlConnection(constr);
        con.Open();
        cmd = new SqlCommand("select Std_ID  from Student", con);
        SqlDataReader reader;

        reader = cmd.ExecuteReader();
        DataTable dt = new DataTable();
        dt.Columns.Add("Std_ID", typeof(string));
        dt.Columns.Add("Name", typeof(string));
        dt.Load(reader);

        metroComboBox1.ValueMember = "Std_ID";
        metroComboBox1.DisplayMember = "Name";
        metroComboBox1.DataSource = dt;

        con.Close();
    }
     private void metroComboBox1_SelectedIndexChanged(object sender, EventArgs    e)
    {
        string ID = metroComboBox1.SelectedValue.ToString();
    }

2 个答案:

答案 0 :(得分:2)

metroComboBox1.DataSource = dt;
metroComboBox1.ValueMember = "Std_ID";
metroComboBox1.DisplayMember = "Name";
metroComboBox1.DataBind();

答案 1 :(得分:1)

我认为问题出在您的查询中:

cmd = new SqlCommand("select Std_ID from Student", con);

不包含名称。而是尝试以下方法:

cmd = new SqlCommand("select Std_ID, Name from Student", con);

为了显示ID而不是名称,也将Std_ID作为displaymamber。