powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Связывание ComboBox'ов при отношении "многие ко многим"
1 сообщений из 1, страница 1 из 1
Связывание ComboBox'ов при отношении "многие ко многим"
    #36328457
nonick76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, интересует вопрос по связыванию данных.
У меня есть 3 таблицы в БД. 2 с полями "id","name" которые связаны отношением "многие ко многим" ограничения прописаны в БД.
На WinForms 2 Combobox'a в 1 отображается "name" из первой таблицы, во втором хочу отображать "name" со второй таблицы учитывая выбор в первом ComboBox'e.

Код при инициализации формы и заполнение ConbobBox'ов данными
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
dataSet = new DataSet();
adMarks = new SqlDataAdapter("SELECT * FROM marks", connection);
adForms = new SqlDataAdapter("SELECT * FROM forms", connection);

adMarks.Fill(dataSet, "Marks");
adForms.Fill(dataSet, "Forms");
            
cbSelectMarka.DataSource = dataSet.Tables["Marks"];
cbSelectMarka.DisplayMember = "name";

cbSelectForma.DataSource = dataSet.Tables["Forms"];
cbSelectForma.DisplayMember = "name";

Обработка события SelectedValueChanged первого ComboBox'a
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
DataRowView row = (DataRowView) cbSelectMarka.SelectedValue;
SqlCommand cmd = new SqlCommand("select forms.name from forms,MarkaForma where MarkaForma.id_marka = @id and MarkaForma.id_forma=forms.id",connection);
cmd.Parameters.Add("@id", SqlDbType.Int);
cmd.Parameters["@id"].Value = row["id"];

adForms.SelectCommand = cmd;
adForms.Fill(dataSet,"SelMar");
cbSelectForma.DataSource = null;
cbSelectForma.DataSource = dataSet.Tables["SelMar"];
cbSelectForma.DisplayMember = "name";
cbSelectForma.Update();

Второй Combobox выборку делает, но не заменяет Items в коллекции, а добавляет. И на мой взгляд не правильно происходит связывание данных (, подскажите как лучше. Хотел произвести связывание как описано здесь http://msdn.microsoft.com/ru-ru/library/ms233685.aspx, но у меня отношение таблиц другое.

Как правильно поступить в моем случае?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Связывание ComboBox'ов при отношении "многие ко многим"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]