我剛剛綁定了我的組合框到數據庫,但它沒有顯示我的值。但是,通過下拉框的長度,我可以看到數值在其中,但不可見。組合框綁定後不顯示文本
我只是點了一個值,它確實工作,並帶我到下一個表格。但是,我怎樣才能使這些值可見?
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();
}
你有沒有試過調用'.DataBind()'方法?這是什麼類型的應用程序?以及爲什麼使用DataReader填充DataTable?爲什麼不適配器? –
我認爲問題出在你的查詢中:cmd = new SqlCommand(「從學生中選擇Std_ID」,con);不包含名稱。請嘗試以下操作:cmd = new SqlCommand(「select Std_ID,Student from Student」,con); – Tyron78
這是一個Windows窗體應用程序。如果我必須使用數據綁定,那麼我可以直接使用它的屬性將該組合框連接到數據庫,但是我決定編寫代碼並使用Select查詢從數據庫讀取數據。 – Ahsan