![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
Freak_FB |
|
|||
![]() Ктулхувед ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 13.10.2006 Репутация: нет Всего: 4 |
Проблема, вроде бы, поднималась, но я разобраться самостоятельно не смог. Банальная задача: есть база pubs2002.mdb (из стандартной поставки SQL Server, кажется). Там есть таблица с наименованиями издательств, и есть таблица с наименованиями книг, а у книг есть ссылка на издательство. Делаю DataSet (всё в дизайнере), 2 адаптера на каждую из таблиц. Заполняю адаптеры из DataSet. Далее: есть два DataGridView. В первом планирую отображать список издательств, во втором - список книг, выпущеных этим издательством. То есть при выборе издательства список книг обновляется.
Какие действия нужно выполнить, чтобы обеспечить эту функциональность? Здесь обсуждался такой вопрос и говорилось, что нужно использовать CurrencyManager и Binding. Заранее спасибо за ответ. |
|||
|
||||
D_F_V |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 27.3.2007 Где: Vladivostok Репутация: нет Всего: 1 |
как вариант...
Бизнес логика в отдельном классе..
Представление...
Особо не стал расписывать.. все по минимуму и по быстрому.. чисто под описанную задачу... Это сообщение отредактировал(а) D_F_V - 20.12.2007, 09:21 |
||||
|
|||||
thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Freak_FB,
Приветствую.
По идее если таблицы связаны в БД, то и в ДС они отобразяться связанными. Если этого нет, по какой либо причине, то просто в дизайнере ДС добавь связь между таблицами. Второе, раз работаешь в дизайнере то, когда из окна DataSourece перетаскиваешь на форму "родительскую" таблицу кликни плюсик рядом сней, увидишь список её полеё и "дочернюю" табличку тоже. Порядок действий: для родительской таблицы выбираешь вид - детальный и тащишь ее на форму, получаешь лабелы с текстбоксами + студия сама поместит навигатор на форму и добавит BindingSource и tableAdapter. Потом выстави табличное представление у дочерней таблицы и перетащи ее на форму. Получишь DataGridView + BindingSource и tableAdapter. Если стартанешь приложение то увидишь в боксах своих аторов, в гриде список их книг. Навигация через навигатор. Надеюсь, более мение понятно написал. Студент я, а не учитель. ![]() Успехов. ![]() Это сообщение отредактировал(а) thomas - 28.12.2007, 20:17 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
Freak_FB |
|
|||
![]() Ктулхувед ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 13.10.2006 Репутация: нет Всего: 4 |
Ну что тут сказать. Сделал специально базу. Прилагаю её на всякий случай. Создал с нуля проект. Сделал там окошко DataSources. Добавил в те DataSources себе базу. Выделил обе таблицы в ней. Автоматом связи не перенесло - ладно. Сделал ручками. Поперетягивал из DataSources обе таблицы. Отобразило в DataGridView. Запустил - никаких положительных результатов - в таблице с издательствами - все издательства, и в табличке с книжками - тоже ВСЕ книжки. Может быть это не так просто визуально устанавливается такое поведение, может код какой добавить? Просто не попадалось хорошей нкижки по базам данных, вот и затруняюсь.
Присоединённый файл ( Кол-во скачиваний: 11 ) ![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Попробовал сам. Базу данных добавил в Data Sources (кстати связь по таблицам создаётся автоматически), перетянул таблицы на форму, как показано на скриншоте. После запуска всё работает как положено: выбирая строку в верхнем датагриде, в нижнем отображаются только книги выбранного издателя.
![]() -------------------- ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |