
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.175] |
![]() |
|
Сообщ.
#1
,
|
|
|
Я думаю оганичится этим:
заполнение из класса сортыровка, с помощью DataView Обработка ItemDataBound Обработка ItemCommand |
![]() |
Сообщ.
#2
,
|
|
True_Hart, добавь наверное еще сюда же работу со стилями таблицы и столбцов, а то вопросы по этому поводу растут как грибы в этой ветке, да и по тематике тебе подходит.
|
![]() |
Сообщ.
#3
,
|
|
согласен, стили - частый вопрос.
|
Сообщ.
#4
,
|
|
|
Насчет заполнения из класса. Заодно неплохо рассмотреть тему о том, как дата грид с помощью рефлекшена создает список колонок для массива этих классов. У меня есть интересный исходник об этом. Но саму статью писать некогда
![]() |
Сообщ.
#5
,
|
|
|
Leprecon,
Цитата грид с помощью рефлекшена создает список колонок для массива этих классов Исходник выложи, плз... |
Сообщ.
#6
,
|
|
|
Обещанный пример...
Объясню в нескольких словах смысл: В проекте есть класс Matrix - этот класс представляет собой двумерный динамический массив, в который просто добавить или удалить столбец или строку. Вобщем с ним проще работать чем со стандартным .NET массивом. Идея примера в том, чтобы отобразить этот массив через DataGrid. Как известно DataGrid работает только с одномернымии массивами. При этом объект, который присваетвается в св-во DataGrid.DataSource, должен быть наследоваться от IList или IListSource. Соответственно, если загрузить в DataGrid массив объектов одного типа, то их св-ва (properties) он представит как колонки. Список св-в DataGrid, также как и PropertyGrid , берет через класс, порожденный от ICustomTypeDescriptor. Если обмануть DataGrid и представить ему матрицу в виде одномерного массива объектов (строки матрицы), где в каждой строке колонки будут представлены в виде свойств с названиями 1, 2, 3, и т.д., тогда DataGrid легко сможет отобразить двумерную матрицу и сам создаст колонки с заголовками 1, 2, 3, и т.д. Класс Matrix порожден от интерфейса IListSource, который предоставляет DataGrid\'y одномерный список (MatrixView) объектов RowDescription. Класс RowDescription порожден от интерфейса ICustomTypeDescription и предоставляет список и описание своих свойств, через объекты ColumnDescription. Каждый такой объект, представляет колонку матрицы в виде св-ва обычного класса. За счет такого подхода, не нужно инициализировать колонки в DataGrid\'e и есть возможность отображать в нем двумерные массивы. В классе MainFrame, метод InitializeMatrix вы увидите инициализацию объекта DataGrid. В архиве Windows Application проект для Visual Studio.NET 7.1 Прикреплённый файл ![]() |