Я немного озадачен этим. У кого-нибудь есть идеи? Я постараюсь выложить пример как можно более кратким.
Создание приложения Silverlight 3.0 для базы данных SQL 2005. Использование RIA Services и Entity Framework для доступа к данным.
Мне нужно уметь заполнять сетку на столе. Тем не менее, мой пользовательский интерфейс сетки и структура моей таблицы отличаются. В основном моя сетка должна превращать строки в столбцы (например, в таблицу PIVOT). Вот мои проблемы / предположения
- До времени выполнения я понятия не имею, какие столбцы у меня будут в сетке.
- Silverlight 3 поддерживает только привязку к свойствам
- Silverlight 3 не позволяет добавлять строки в сетку и заполнять данные вручную.
- Как все мы знаем, Silverlight не имеет пространства имен System.Data (в основном DataTable)
Итак, как мне создать объект с динамическими свойствами, чтобы я мог связываться с сеткой. Каждая моя идея (многомерные массивы, хеш-таблицы и т. Д.) Разваливается, b / c SL требуется свойство для привязки, я не могу вручную добавить / заполнить строку данных и не могу понять способ добавить динамические свойства. Я видел статью о решении, включающем связанный список, но я ищу лучшую альтернативу. Это может сводиться к созданию специальной "Cody Grid", которая будет представлять собой набор текстовых полей / ярлыков. Можно сделать наверняка, но я потеряю некоторые функции сетки, которые ожидают пользователи
ЕДИНСТВЕННОЕ решение, которое мне удалось найти, - это создать запрос к таблице PIVOT в SQL 2005 и использовать объект на основе этого запроса / представления. SQL 2008 поможет мне в этом. Я бы предпочел сделать это в Silverlight, но если это последнее средство, пусть будет так. Если я пойду по маршруту PIVOT, как мне реализовать изменяющуюся структуру данных в Entity Framework?
Образец данных.
Таблица
Имя Дата Значение
Коди 1/1/09 15
Коди 1/2/09 18
Майк 1/1/09 20
Майк 1/8/09 77
Grid UI должен выглядеть как
Name 1/1/09 1/2/09 1/3/09 .... 1/8/09
Cody 15 18 NULL NULL
Mike 20 NULL NULL 77
Коди