Страница 1 из 1

Не удалось привести тип объекта "Stimulsoft.Report.StiReport

Добавлено: 20 июн 2014, 13:46
Вячеслав
Добрый день.

Вчера установил на компьютер демо версию StimulSoft Report Silverlight (http://www.stimulsoft.com/ru/products/r ... ilverlight. Создал тестовый отчет в дизайнере (C:\Program Files (x86)\Stimulsoft Reports.Silverlight 2014.1 Trial\Bin\Designer.exe) и сохранил его на диске. Попытался запустить тестовый пример на Visual Studio 2013 Update 2. Создал Silverlight приложение, на основной форме добавил такой код:

Код: Выделить всё

            var report = new StiReport();
            report.Load(File.ReadAllBytes(@"c:\test\report.mrt"));
            report.Render();
            viewer.Report = report;
После запуска, приложении выдало исключение: Не удалось привести тип объекта "Stimulsoft.Report.StiReport" к типу "Stimulsoft.Report.Dictionary.StiDataSource".

Стек:

Код: Выделить всё

   в Stimulsoft.Report.StiReport.RenderReport(StiRenderState renderState)
   в Stimulsoft.Report.StiReport.Render(StiRenderState renderState)
   в Stimulsoft.Report.StiReport.Render(Boolean showProgress, Int32 fromPage, Int32 toPage)
   в Stimulsoft.Report.StiReport.Render(Boolean showProgress)
   в Stimulsoft.Report.StiReport.Render()
   в SilverlightApplication1.MainPage..ctor()
   в SilverlightApplication1.App.Application_Startup(Object sender, StartupEventArgs e)
   в MS.Internal.CoreInvokeHandler.InvokeEventHandler(UInt32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
   в MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 flags)
Если я не загружаю файл, c диска то отчет отображается в просматривателе отчетов, но пустой. Я так понял что дизайнер в отчете создал пространства имен другие. Это ошибка или я что то сделал не так? Не могли бы Вы подсказать в чем проблема, мы уже готовы купить продукт, но мне нужно показать тестовый отчет.

Re: Не удалось привести тип объекта "Stimulsoft.Report.StiRe

Добавлено: 23 июн 2014, 12:59
HighAley
Здравствуйте.

Уточните, пожалуйста, какой вьювер вы используете.
Native Silverlight не поддерживает никакие источники данных кроме Business Objects.
Возможно ошибка связана именно с этим. Для более точного ответа необходимо увидеть ваш шаблон отчёта и остальной код проекта.

Спасибо.

Re: Не удалось привести тип объекта "Stimulsoft.Report.StiRe

Добавлено: 23 июн 2014, 13:39
Вячеслав
Добрый день.

Да, я разобрался, проблема была в том, что в дизайнере я подключил библотеку собранную не под силверлайтом, откуда взял бизнес-объекты. Получается что и SQL-запросы не поддерживаются StimulSoft Silverlight? Возможно ли в таком случае воспользоватся генерацией отчетов через веб-сервис, как в этом примере(http://www.stimulsoft.com/en/news/wcf-s ... ew-version)? Компилировать отчет, сериализовывать в xml, работающий без силверлайта, а на стороне силверлайта десериализовывать обратно? Или при работе возможно использование только бизнес-объектов? Мы пишем проект на MS Lightswitch, возможно есть какие-то более удобные решения?

Re: Не удалось привести тип объекта "Stimulsoft.Report.StiRe

Добавлено: 23 июн 2014, 17:17
HighAley
Здравствуйте.

Да, возможно использовать WCF. Вы можете найти примеры проектов в папке Samples.
По поводу Lightswitch мы можем сказать, что некоторые наши клиенты используют его.

Спасибо.