Не удалось получить идентификатор. Требуется помощь - PullRequest
0 голосов
/ 07 января 2011

У меня есть CustomerNameComboBox, в событии selectedIndexChanged я хочу показать запись выбранного клиента в сетке данных выбранного клиента ... до тех пор, пока я это сделал ... но я не могу получить идентификаторклиента ... я хочу использовать вышеуказанный идентификатор клиента .. могу ли я узнать, как я могу получить идентификатор клиента?Я также хочу установить видимость моего CustomerNameComboBox для чтения только после выбора клиента.вот мой код, который я делал до сих пор:

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

1 Ответ

0 голосов
/ 23 февраля 2011

вам нужно вызвать метод связывания после установки данных

 DataTable dt = new DataTable();
    da.Fill(dt);
    dgCustomerDetails.DataSource = dt;
dgCustomerDetails.DataBind();// Add this
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...