Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение данных БД в combox/textbox/listbox, не все же работают с DataGridView 
:(
    Опции темы
Sacret
  Дата 1.12.2009, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.12.2009
Где: Новочеркасск

Репутация: нет
Всего: нет



Всем привет)))
Пишу БД, столкнулась с одной маленькой и, по идее, легко решаемой проблемой, но... (вопрос ниже)
Тут я решила написать некоторые примерчики по теме, вдруг кому-нибудь понадобятся!

Пример разработки БД: http://www.intuit.ru/department/se/devcsharp2005/

Рассмотрю таблицы такого вида:
Table1 : id1, name1
Table2: id1, id2, id3, name2
Table3; id3, name3
1-ая и 2-ая соединены отношением (1:многим)
3-ья и 2-ая соединены отношением (1:многим) (3-ья таблица - справочник)
 
Будет создан датасет (ds) и адаптеры для всех таблиц, заполненные методом Fill
1) Вывод имен из 1-ой таблицы в листбокс:
Код

listbox.DataSource = ds;
listbox.DisplayMember = "Table1.name1";   
 

2) Вывод выделенного в листбокс имени в текстбокс:
Код

textbox.DataBindings.Add("Text", ds, "Table1.name1"); 


3) (В этом и заключается мой вопрос):
Как в еще один листбокс поместить связанные данные по полю, выделенному в первом?  (то есть при перемещении по родительской таблице, выводить соответствующие ей строки дочерней таблицы) 
Пытаюсь так:
Код

listbox2.DataSource = ds.Table2;    
listbox2.DisplayMember = "name2";
listbox2.ValueMember = "id1"; 
listbox.DataBindings.Add("SelectedValue", ds, "Table1.id1");   
 
При этом во второй листбокс у меня выводятся ВСЕ данные из Table2, а при перемещении по полям
первого листбокса, курсор перемещается по второму, перескакивая на первое значение из Table2, соответствующее
id1 из выделенного поля превого листбокса (да, непонятно %)))
Надеюсь на Вашу помощь в этом вопросе

4) Вывод данных из справочника в комбобокс:
Код

combobox.DataSource = this.ds.Table3;
combobox.DisplayMember = "name3";
combobox.ValueMember = "id3";
combobox.DataBindings.Add("SelectedValue", ds.Table2, "id3");
 
PM MAIL WWW   Вверх
Sacret
Дата 2.12.2009, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.12.2009
Где: Новочеркасск

Репутация: нет
Всего: нет



Нашла использование фильтра (например, для описанной выше таблицы):
Код

ds.Table2.DefaultView.RowFilter = "id1 = '2'";  

Но работает эта конструкция только с определенным значением после знака "=" (к примеру, 2)
Возможно ли в фильтре указывать не конкретное значение, а переменную? Пробовала с интом - не катит!
PM MAIL WWW   Вверх
Sacret
Дата 2.12.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 1.12.2009
Где: Новочеркасск

Репутация: нет
Всего: нет



Нашла ответ своими силами. Кому нужно вот ссылочка:
http://social.msdn.microsoft.com/Forums/en...18-ba37610bfcb4
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0548 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.