Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

Игорь Т.


Старейшина

Зарегистрирован:
29 September 2002
Сообщения: 647
Примеры кода: 2
 

RE: Биндинг своего класса с датагридом (WinForms)

20 January 2005 14:37  


Подскажите, плз.
Есть класс - коллекция объектов, как его сбиндить с датагридом, чтобы самому задать правила его отображения в гриде?


А что ты подразумеваешь под правилами?

пишешь myDataGrid.DataSource = = myItemsList;

и он тебе отобразит список этих айтемов.

Стобыцы будет генерировать при автоегенерации беря рефлексией своство текущего айтема... и если столбца с таким именем нет - добавить его.

Если вручную нужно тебе столбцы задать - названия пропетей обхектов и есть названия стобцов в TableStyle

Если хочешь визуально связывать свой список с источником данных, то тут уже обычным ArrayList не обойдешься. В идеале тебе нужен типизированный список, ну и IComponent инетрфейс сделать ему, чтобы на форму он ложился визуально и IBindableList - чтобы ты видел этот список как предлагаемый источник данных для элементов вотображения в Properties Manager.

Что еще... Чтобы при создании DataGridTableStyle для твоего грида, нужный стиль подхватывался к твоему списку - в MappingName пропиши или myClass[] - если у тебя типизированная коллекция, или ArrayList - если просто список айтемов.

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

Т.е. грид как генерит... В такой последовательности:
1. Смотрит типизированный индексатор и вычитывает список свойств возвращаемого объекта.
2. Если индексатора нет, то в качестве образца берется первый айтем в списке
3. если такового тоже нет - столбцы не генерятся..
We take I.T. easy!
Наверх
  



DataGrid, DataList, Repeater

 Биндинг своего класса с датагридом (WinForms)Anton  20 January 2005 11:32
 RE: Биндинг своего класса с датагридом (WinForms)Игорь Т.  20 January 2005 14:37
 RE[2]: Биндинг своего класса с датагридом (WinForms)AL  21 January 2005 00:36
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта