sridhar babu Ответов: 2

Проблема привязки поля со списком?


есть три поля со списком контроля и на основе первого поля со списком значение привязка данных в поле со Списком 2 и основанные на второе поле со Списком 2 Значение привязка данных к третьей поле со списком..у меня вопрос, если комбинация записи не имеет никакого значения для поля со списком 3 и еще это показывать значение другой записи и не меняется, пока она не сопоставляется

я не знаю никакого решения этой проблемы...
пожалуйста, помогите мне..

Что я уже пробовал:

internal void bindcompname()
        {
            cmd = new SqlCommand("select CompName from company",conn);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            DataRow dr = dt.NewRow();
            comboscname.DisplayMember = "CompName";
            comboscname.DataSource = dt;
            comboscname.DropDownStyle = ComboBoxStyle.DropDownList;
        }
        private void comboscname_SelectedIndexChanged_1(object sender, EventArgs e)
        {
            cmd = new SqlCommand("select model.ModNum from model inner join company on model.CompName=company.CompName where model.CompName=@cname",conn);
            cmd.Parameters.AddWithValue("@cname",comboscname.Text);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            DataRow dr = dt.NewRow();
            combosmnumber.DisplayMember = "ModNum";
            combosmnumber.DataSource = dt;
            combosmnumber.DropDownStyle = ComboBoxStyle.DropDownList;
        }
        private void combosmnumber_SelectedIndexChanged_1(object sender, EventArgs e)
        {
            cmd = new SqlCommand("select mobile.IMEINo from mobile inner join model on model.ModId=mobile.ModId inner join company c on c.CompName=mobile.CompName where model.ModNum=@mid and mobile.Status=@sts", conn);
            cmd.Parameters.AddWithValue("@mid", combosmnumber.Text);
            cmd.Parameters.AddWithValue("@sts", "NotSold");
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            DataRow dr = dt.NewRow();
            combosimeinumber.DisplayMember = "IMEINo";
            combosimeinumber.DataSource = dt;
            combosimeinumber.DropDownStyle = ComboBoxStyle.DropDownList;
        }

Suvendu Shekhar Giri

Вы можете показать нам соответствующий код?

sridhar babu

--содержание было перенесено на вопрос--

Maciej Los

А что не так с вашим кодом?

sridhar babu

CompName ModelNo ImeiNo
Нокиа Nk109 9009090909
Линево лн11 0000908898

моя база данных выглядит так же как и выше и если я выберу название компании nokia то модели под nokia должны быть привязаны к полю со Списком 2 а когда я выберу номер модели IMEI no должен быть привязан к полю со списком 3
моя проблема в том что у меня есть номер модели в nokia и нет IMEI нет но когда я выбираю эту запись она показывает IMEI нет другой модели кроме показа пустой
надеюсь, вы понимаете мою проблему
пожалуйста, пингуйте меня для ясности...
спасибо

2 Ответов

Рейтинг:
2

sridhar babu

не работать

Maciej Los

:смеяться:

Рейтинг:
2

sridhar babu

Цитата:
внутренняя пустота bindcompname()
{
КМД = новая команда sqlcommand("выберите CompName от компании"шарнир равных угловых скоростей);
SqlDataAdapter da = новый SqlDataAdapter(cmd);
DataTable dt = новый DataTable();
да.Заполнить(ДТ);
Доктор строкаданных = ДТ.Невров();
comboscname.DisplayMember = "CompName";
comboscname.Источник данных = dt;
comboscname.DropDownStyle = ComboBoxStyle.Выпадающий список;
}
частная comboscname_SelectedIndexChanged_1 недействительным(объект отправителя, EventArgs в электронной)
{
cmd = new SqlCommand("выберите модель.ModNum от модели внутренняя присоединиться к компании на модель.CompName=компания.CompName где модель.CompName=@cname",conn);
cmd.параметры.AddWithValue ("@cname",comboscname.Текст);
SqlDataAdapter da = новый SqlDataAdapter(cmd);
DataTable dt = новый DataTable();
да.Заполнить(ДТ);
Доктор строкаданных = ДТ.Невров();
комбо-номер.DisplayMember = "ModNum";
комбо-номер.Источник данных = dt;
комбо-номер.DropDownStyle = ComboBoxStyle.Выпадающий список;
}
частная combosmnumber_SelectedIndexChanged_1 недействительным(объект отправителя, EventArgs в электронной)
{
cmd = new SqlCommand("выберите мобильный телефон.IMEINo с мобильного внутреннее соединение модели на модель.ModId=мобильный телефон.ModId внутреннее объединение компанией C на C.CompName=смартфоне или планшете.CompName где модель.ModNum=@mid и mobile.Status=@sts", conn);
cmd.параметры.AddWithValue("@mid", combosmnumber.Text);
cmd.параметры.AddWithValue("@sts", "NotSold");
SqlDataAdapter da = новый SqlDataAdapter(cmd);
DataTable dt = новый DataTable();
да.Заполнить(ДТ);
Доктор строкаданных = ДТ.Невров();
combosimeinumber.DisplayMember = "IMEINo";
combosimeinumber.Источник данных = dt;
combosimeinumber.DropDownStyle = ComboBoxStyle.Выпадающий список;
}


Maciej Los

Это не ответ. Пожалуйста, удалите его. Чтобы обновить свой вопрос, используйте "Улучшить вопрос" виджет.