无法检索ID ..需要帮助

问题描述:

我有一个CustomerNameComboBox,在selectedIndexChanged事件中,我想在所选客户的datagridview中显示所选客户的记录。直到那个,我完成了。但我无法获得客户的身份证..我想使用上述客户的身份证。请问我可以如何获得客户的身份证? 我也想将我的CustomerNameComboBox的可见性设置为仅在选择客户后才读取。这里是我的代码,我到目前为止已经做的:无法检索ID ..需要帮助

private void CustomerNameComboBox_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (CustomerNameComboBox.Items.Count > 0) 
    { 
     SqlConnection cn = new SqlConnection(@"Data Source=COMPAQ-PC-PC\SQLEXPRESS;Initial Catalog=Tyre Shop Management System;Integrated Security=True"); 
     SqlCommand cmd = new SqlCommand("Select * from CustomerInfo where ID = " + CustomerNameComboBox.SelectedValue + "", cn); 
     MessageBox.Show(cmd.CommandText); 
     SqlDataAdapter da = new SqlDataAdapter(cmd); 
     DataTable dt = new DataTable(); 
     da.Fill(dt); 
     dgCustomerDetails.DataSource = dt; 
     //if (CustomerNameComboBox.SelectedValue > 0) 
     //{ 
     // ReadOnlyAttribute ReadOnly = new ReadOnlyAttribute(true); 
     // CustomerNameComboBox.Visible = ReadOnly.IsReadOnly; 
     //} 
     //if (CustomerNameComboBox.ValueMember == CustomerNameComboBox.SelectedValue) 
     //{ 
     // ReadOnlyAttribute ReadOnly = new ReadOnlyAttribute(true); 
     // CustomerNameComboBox.Visible = ReadOnly.IsReadOnly; 
     //} 
    } 
} 


private void BindCombo(string query, ComboBox combo, string DisplayMember, string ValueMember) 
{ 
    SqlConnection cn = new SqlConnection(@"Data Source=COMPAQ-PC-PC\SQLEXPRESS;Initial Catalog=Tyre Shop Management System;Integrated Security=True"); 
    SqlCommand cmd = new SqlCommand(query, cn); 
    SqlDataAdapter da = new SqlDataAdapter(cmd); 
    DataTable dt = new DataTable(); 
    da.Fill(dt); 
    CustomerNameComboBox.DataSource = dt; 
    CustomerNameComboBox.DisplayMember = DisplayMember; 
    CustomerNameComboBox.ValueMember = ValueMember; 
} 

private void BindComboBoxAll() 
{ 
    string CustomerQuery = "Select ID,FirstName from CustomerInfo"; 
    BindCombo(CustomerQuery, CustomerNameComboBox, "FirstName", "ID"); 
} 

你需要设置datasoure

DataTable dt = new DataTable(); 
    da.Fill(dt); 
    dgCustomerDetails.DataSource = dt; 
dgCustomerDetails.DataBind();// Add this 
之后调用bind方法