До недавнего времени мы использовали ReportViewer 9.0
в среде .Net 3.5
. Все наши отчеты используют бизнес-объекты в качестве источника данных и обрабатываются локально.
Большинство наших бизнес-объектов имеют свойство Self, возвращающее весь объект. Для специальной обработки используется вызов пользовательской сборки с передачей всего бизнес-объекта с использованием свойства Self, как в
=reporting.ReportFunction.ValueOf(Fields!Self.Value, "sometext")
При переходе на ReportViewer 11.0
в среде .Net 4
мы столкнулись с проблемами с вышеупомянутой конструкцией. Любое обычное свойство бизнес-объектов может быть передано таким функциям, как ValueOf
, что даст правильные результаты. Но использование выражения, подобного тому, что с Self
, приводит к ужасному #Error
в результирующем отчете; ValueOf
никогда не вызывается с использованием свойства Self
.
Эта функция сломана? Или это вопрос безопасности? Кто-нибудь знает, можно ли и как передать весь объект пользовательской сборке с помощью ReportViewer 11.0
и .Net 4
? Предложение в Как для отправки параметра List‹string› из файла rdlc в статический метод в сборке клиента для передачи свойства Fields, похоже, не работает.
Любая помощь будет оценена. Заранее спасибо, Ян.