Мы рассматриваем возможность создания пользовательского расширения обработки данных для служб Microsoft Reporting Services, чтобы мы могли напрямую сообщать о наших объектах данных.Microsoft Reporting and Complex Objects
Мой вопрос: Предположим, у меня есть объект, представляющий строку, но у него есть элемент, который представляет собой сложный объект:
public class TheRowObject
{
// a "normal" field
public string Name {get; set;}
// a complex field object
public Address BillingAddress { get; set;}
}
public class Address
{
public string City {get; set;}
public string State {get; set;}
public string Zip {get; set}
}
У меня нет никаких проблем положить TheRow.Name на доклад, но что если я хочу поставить TheRow.BillingAddress.City?
Дизайнер отчетов позволяет перетаскивать BillingAddress на поверхность отчета, но во время выполнения он отображает текст «Ошибка» в поле.
Есть ли способ отображения элементов сложных объектов?
EDIT То, что я на самом деле после того, как, если это возможно, для конечного пользователя, чтобы иметь возможность перетаскивать свойства сложного объекта из окна инструмента ReportData прямо на поверхность отчета. Я надеялся, что в средстве просмотра отчетов есть встроенная способность сделать это.
Если нет встроенного способа его обработки, я предполагаю, что мне нужно будет либо предоставить пользовательские формулы в отчете, либо предоставить расширение данных, которое «сглаживает» свойства сложного объекта, поэтому что они выглядят как обычные поля.
Это не работает. Когда я редактирую текст формулы, он показывает выражение: = First (Fields! Name.Value, «ProviderCollection») (обратите внимание, что поле «Значение» не принадлежит мне, должно быть частью обертки для отчетов). Если я попытаюсь изменить его, чтобы использовать address.City, я получаю ошибку времени сборки. Я пробовал различные комбинации Address.Value.City, Address.City.Value, Address.Value.City.Value все безрезультатно. – JMarsch
У меня есть отчеты для перехода с SSRS2005 на SSRS2008. В версии 2005 года выражение «Address.Value.City» использовалось для работы, но во время миграции мне пришлось менять объекты, чтобы не было обнаружено сложных типов. Я не знаю, почему это изменилось в Reporting Services ... – Fabio