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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Данные из произвольных объектов, Получение данных напрямую из объектов 
:(
    Опции темы
amarenkov
Дата 14.4.2008, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Добрый день.

Работа осуществляется с объектами DataSet, DataTable, DataColumn. Можно ли как-то данные, которыми оперируют эти объекты, напрямую получать из какого-либо объекта?

Поясню. У меня, допустим, есть массив объектов - прямоугольников. Каждый прямоугольник имеет какие-то координаты и т.п. Мне эти данные нужно отобразить в таблице. Соответственно, процесс может выглядеть так: загоняем данные из прямоугольников в DataTable, а потом, в какой-то момент, данные из DataTable забираем и запихиваем обратно в прямоугольники. Вопрос: можно ли как-то сделать так, чтобы работа шла напрямую с объектами прямоугольников? Чтобы данные, для отображения в таблице, брались непосредственно из объекта прямоугольника; и после изменения сохранялись сразу в него же? Возможно, перекрыть какие-то методы, создать наследников? 

Заранее спасибо smile.
PM MAIL ICQ   Вверх
akizelokro
Дата 14.4.2008, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



Можно. Зайди в "Add new data source" и выбери нужный тебе "Объект" (произвольный класс из твоего приложения, например). 
Пример навскидку приведен для ReportViewer'а, но несложно перенести под твои хотелки

Это сообщение отредактировал(а) akizelokro - 14.4.2008, 10:36


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
amarenkov
Дата 14.4.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(akizelokro @  14.4.2008,  10:25 Найти цитируемый пост)
Зайди в "Add new data source" ...


А где такой пункт есть?

PM MAIL ICQ   Вверх
akizelokro
Дата 14.4.2008, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



В 2008студии Data->AddNewDataSource или через панель DataSource. В других - не знаю


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
amarenkov
Дата 14.4.2008, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



akizelokro, спасибо, но можно по-подробнее smile? Студия сказала "Все ОК. Дата Сорс добавлен". И что мне с этим делать smile?
PM MAIL ICQ   Вверх
akizelokro
Дата 14.4.2008, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



Код

private List<Product> m_diagnoz;
...
m_diagnoz = new List<Product>();
...
m_diagnoz.Add(new Product());
...
thisBindingSource.DataSource = m_diagnoz;


Сделай по аналогии
thisBindingSource это экземпляр стандартного класса BindingSourse, а ,как с ним работать, ты должен знать. В WinForms ты с ним работаешь стандартно, как с обычным, взятым из БД или Excel или еще откуда.


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
amarenkov
Дата 14.4.2008, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Умгу, понял. Спасибо, akizelokro. 

Но, насколько я понял, при таком подходе я теряю возможности DataSet, DataTable? Просто у меня есть несколько подчиненных таблиц. Это я делаю через PrimaryKey и связи. Как-то хочется все эти возможности сохранить... Не получится?
PM MAIL ICQ   Вверх
akizelokro
Дата 14.4.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


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

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



Не готов ответить. Почитай, http://msdn2.microsoft.com/ru-ru/magazine/cc163477.aspx, может подскажет чего.


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
amarenkov
Дата 14.4.2008, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо smile. Почитаю.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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