2011-01-07 5 views
0

내가 CustomerNameComboBox를 가지고 selectedIndexChanged 이벤트에서 선택한 고객의 레코드를 선택한 고객의 DataGridview에 표시하고 싶습니다. .하지만 고객의 ID를 얻을 수 없습니다. 위의 고객 ID를 사용하고 싶습니다. 고객의 ID를 어떻게 얻을 수 있는지 알 수 있습니까? 고객이 선택되면 내 CustomerNameComboBox의 가시성을 읽기 전용으로 설정하려고합니다.ID를 검색 할 수 없습니다 .. Help Required

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"); 
} 

답변

0

당신이 datasoure

DataTable dt = new DataTable(); 
    da.Fill(dt); 
    dgCustomerDetails.DataSource = dt; 
dgCustomerDetails.DataBind();// Add this 
을 설정 한 후 바인드 메소드를 호출 할 필요가 : 여기 내가 지금까지 해왔 내 코드입니다
관련 문제