Тэги

Silverlight (36) WPF (10) IIS (7) Visual Studio (7) SharePoint (6) .Net Framework (5) ODP.NET (5) ASP.NET (4) C# (4) common (4) Network Settings (3) JavaScript (2) MS Office (2) Resharper (2) WCF (2) WEB (2) XPath (2) XSLT (2) ADO.NET (1) APEX (1) CMD (1) CSS (1) EF (1) HTML (1) Hardware bugs (1) Java (1) MS SQL (1) Oracle (1) PDF (1) Version Control (1) XAML (1)

пятница, 13 ноября 2009 г.

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. Свойство не типизировано.

Комментариев нет:

Отправить комментарий