Silverlight: DataGrid – динамическое добавление колонок в DataGrid с динамическими инменами колонок, с поддержкой DataPager. Должно сработать и для WPF.



Silverlight: DataGrid – динамическое добавление колонок в DataGrid с динамическими инменами колонок, с поддержкой DataPager.
Должно сработать и для WPF (возможно при доработке), но для WPF, видимо, лучше использовать в качестве низлежащего объекта данных DataTabel.
В Silverlight класс DataTabel не существует.

Главное условие – сейчас поддерживается максимально до 20 колонок, но это количество не ограничено, просто фиксированно в коде. Правте код сами, кому надо.

Решение удобно использовать для отображения отчетов с неизвестными именами колонок и неизвестным количеством колонок и неизвестным типом данных. Т.к. это для отчетов, то изменения данных не подразумеваются.

Решению всеравно, что вы используете, List<> или ObservableCollection<>.

Типы данных которые не поддерживаются добавте сами, это просто сделать по аналогии с имеющимся в проекте коде.
Сейчас поддерживаются String, Int32, Decimal, Double, DateTime.

За целостность данных вы отвечаете сами. Я имел ввиду, что нет проверки как в DataTabel, что вы добавляете верный тип данных. Т.е. если вы начили в первую колонку добавлять число, то должны добавлять число в остальные колонки.
Правда можете добавлять null, только не забывайте даже null обарачивать в специальный объект.

Project DataGrid Dynamic Columns for Visual Studio 2008 Silverlight 3
Возможно вам потребуется установить Silverlight Toolkit для DataGrid и DataPager, чтоб проект собирался.

Если будут желающие я объясню, что там делается.

___

Доработки 26.11.2009
По просьбе трудящихся добавил свойство для детальной информации, которое отдельно можно отрисоваться в детальной части строки DataGrid. Свойство не типизировано.

Комментарии

Популярные сообщения из этого блога

A4tech. Мышь не найдена. Пожалуйста, подсоедините мышь.

SVN: Пропали иконки TortoiseSVN.

Вывод в cmd или bat пустой строки.