无法检索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方法