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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataSet, Relations, DataGridView 
:(
    Опции темы
Steel
Дата 28.5.2008, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте. 

В .Net я новичек. Пытаюсь писать на C#.

Возникла следующая проблемма...
Есть 3  таблицы созданные в DataSet (хочу работать без БД, с помощю ReadXML, WriteXML):

Category {CatID, CatName}                              CatID - первичный ключ
Object   {ObjID, CatID, ObjName, Description}  ObjID - первичный ключ
MainTab  {ID, ObjID, ObjCOunt, RecDate}         ID    - первичный ключ

Вопрос : 
Как правильно настроить связи (Relations) и какие св-ва указать DataGridVeiw и его столбцам, чтобы
в результате DataGridVeiw вывел строки таблицы MainTab, где вместо ObjID были бы соответстувующие ему CatName,
ObjName, Description. Т. е. вывелись бы строки с полями {CatName, ObjName, Description, ObjCOunt, RecDate}?
Причем CatName, ObjName хотелось бы увидеть в качестве ComboBox, а все остальное в TextBox.
Причем Items ObjName должно содержать объекта соответствующие выбранной в CatName категории.
Реально ли это?

Бьюсь третий день. Поиск не помог.

Заранее благодарен.
PM MAIL   Вверх
jonie
Дата 28.5.2008, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



ну релейшены так и настраиваешь, а вот DataBinding (есть такой компонентик) настраиваешь на dataset.table и на relashion , к объектам же (комбобоксам и т.п.) непосредственно привязываешь DataBinding компоненты...

в общем вопрос такой стандартный на тестировании M$


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Steel
Дата 29.5.2008, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не могли бы Вы разьяснить подробнее? 

Цитата

а вот DataBinding (есть такой компонентик)

Компонента такого не нашел. Нашел класс Binding. То-ли это что нужно?

Цитата

настраиваешь на dataset.table и на relashion

Каким образом?

Цитата

 к объектам же (комбобоксам и т.п.) непосредственно привязываешь DataBinding

Насколько я понял класс Binding связывает свойства контрола с каким-либо свойством датасорса.
В моем же случае КомбоБоксы и ТекстБоксы являются не контролами, а типами столбцов DataGridVeiw.  А у них нету свойства DataBindings, с помощью 
которого как я понял должна осуществляться привязка.


http://forum.vingrad.ru/html/emoticons/pack/sample.gif


PM MAIL   Вверх
amperykl
Дата 29.5.2008, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Может быть и мне подскажете.
Используя dataGridView возможно ли увидить отображение как и в dataGrid (с лева "+")

 ds.Relations.Add("Связь",
                ds.Tables["Таблица"].Columns["КодН"],
                ds.Tables["Зависимая_таблица"].Columns["КодН"]); 

Если нет, то как лучше организовать связку с просмотром зависимой строки, из другой таблицы, кроме второго грида.

Заранее спасибо.
PM MAIL   Вверх
jonie
Дата 30.5.2008, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



BindingSource он называется.. извиняюсь.
http://blogs.msdn.com/dchandnani/archive/2.../09/391308.aspx
вот чуток прольет свет... и дальше по ссылка в гугле (там на msdn была статья 100% про это)..
хотя перечитав первый пост я немного мб ошибся, в том что вам надо.

Цитата

Используя dataGridView возможно ли увидить отображение как и в dataGrid (с лева "+")
можно.

http://forums.microsoft.com/MSDN/ShowPost....67&SiteID=1
вот там еще почитайте

Это сообщение отредактировал(а) jonie - 30.5.2008, 09:50


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
amperykl
Дата 1.6.2008, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте, <jonie>, Вы писали:
Цитата(jonie @ 30.5.2008,  09:44)

Цитата

Используя dataGridView возможно ли увидить отображение как и в dataGrid (с лева "+")
можно.


Прошелся по ссылкам, нашел только про связывание и отображение на двух dataGridView. Меня же интересует именно отображение на одном dataGridView.
PM MAIL   Вверх
Magnifico
Дата 1.6.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



довольно долго гуглил на эту тему
на буржуйских сайтах такой вопрос часто задается - ответов ровно ноль
пока только DataGrid


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
vretsky
Дата 3.6.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 29.10.2007

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



Цитата

довольно долго гуглил на эту тему
на буржуйских сайтах такой вопрос часто задается - ответов ровно ноль
пока только DataGrid 



т.е в dataGridView нельзя отобразить иерархию релаций?
PM MAIL   Вверх
AndZho
  Дата 2.7.2008, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 21.10.2006

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



да, мне тоже интересно увидеть решение.
PM MAIL ICQ   Вверх
Certain
Дата 5.7.2008, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Допустим, у нас есть 2 таблицы в DataSet ds "Поставщики" и "Товары". Есть связь между ними 
Код

DataRelation dataRalation=new DataRelation("Товары этого поставщика",
                                                                         ds.Tables["Поставщики"].Columns["Код поставщика"],
                                                                         ds.Tables["Товары"].Columns["Код поставщика"]);
 
Добавляем связь
Код

ds.Relations.Add(dataRelation);
 
Устанавливаем вид отображения в dataGrid1
Код

dataGrid1.DataSourse = ds.DefaultViewManager;
 
Осталость указать DataGrid, какую таблицу считать главной
Код

dataGrid1.DataMember = "Поставщики";
 

Проверяем, все работает. Теперь можно просматривать товары, 
поставляемые поставщиками, в том же виде, как это реализовано в Access

--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
Magnifico
Дата 5.7.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Certain речь шла о DataGridView
 про DataGrid мы знаем...


--------------------
Всё  в  порядке   -   спасибо  зарядке  !
PM MAIL   Вверх
Certain
Дата 8.7.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



из статьи "DataGridView. Новый контрол в составе Framework 2.0"
Цитата

...
Замечу, что есть одна вещь, которую DataGrid делать умеет, а новый control – нет. Помните, когда у нас в DataSet-е были две таблицы, связанные соотношением master/detail, и мы привязывались к мастер-таблице, то на заголовках строк появлялись такие трогательные плюсики, щелкая по которым можно было просматривать соответствующие дочерние записи? В DataGridView взят на вооружение тезис “две таблицы? Значит и control-ов, их отображающих, тоже должно быть два”, т.е. теперь связанные подобным образом таблицы предлагается отображать в двух независимых DataGridView-control-ах. На мой взгляд, это совершенно логичное и идеологически верное решение. Так что и это как бы “упущение” нового control-а является лишь следствием выпрямления не совсем однозначной, чтобы не сказать сильнее, архитектуры старого.

ПРИМЕЧАНИЕ
Откровенно говоря, функциональность как функциональность, и никому ее наличие не помешало бы. Так что на наш взгляд речь идет просто о том, что разработчики Microsoft отказались от реализации этой возможности, сосредоточившись на других, более приоритетных задачах. – прим. ред.
...


Так что реализации нет, если только самому реализовать  smile 
--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
Partizan
Дата 8.7.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



можно поюзать сторонние контролы типа Infragistics или DevExpress   smile 


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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