2011-01-07 4 views
0

Ich habe eine CustomerNameComboBox, auf dem selectedIndexChanged-Ereignis, ich möchte den Datensatz des ausgewählten Kunden in der Datagridview des ausgewählten Kunden anzeigen .. bis zu dem habe ich getan. Aber ich bin nicht in der Lage, die ID des Kunden zu erhalten .. Ich möchte die ID des Kunden oben verwenden .. Kann ich bitte wissen, wie kann ich die ID des Kunden bekommen? Ich möchte auch die Sichtbarkeit meiner CustomerNameComboBox so einstellen, dass sie nur gelesen wird, wenn der Kunde ausgewählt ist. hier ist mein Code, die ich bisher getan haben:Nicht in der Lage, die ID .. Hilfe erforderlich

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

Antwort

0

Sie die bind-Methode nach dem Abbinden datasoure

DataTable dt = new DataTable(); 
    da.Fill(dt); 
    dgCustomerDetails.DataSource = dt; 
dgCustomerDetails.DataBind();// Add this 
anrufen müssen