Использовать объект .net в качестве источника данных в Crystal Report 2008 - PullRequest
2 голосов
/ 30 ноября 2009

Привет всем,

Я создал объект .net (например: A), который содержит данные, собранные из таблиц. Затем я создаю List<A>() и перехожу к SetDataSource() методу ReportDocument объекта. Когда я бегу, тогда выдается исключение:

"CrystalDecisions.CrystalReports.Engine.DataSourceException: The data source object is invalid"

Я не знаю исключение выше, сообщение об ошибке не ясно. Кто-нибудь может объяснить для меня? пример: объект .net должен наследоваться от ISerializable .....

1 Ответ

4 голосов
/ 07 апреля 2010

У меня была такая же ошибка, но я столкнулся с ней при использовании объекта в качестве источника данных для отчета. У меня был следующий код:

var myObj = new MyDataObject();
cr.Load(@"C:\report.rpt");
cr.SetDataSource(myObj);

и получил ту же ошибку.

Изменение строки SetDataSource на это:

cr.SetDataSource(new [] { myObj });

помогло и теперь работает правильно. Другими словами, попробуйте обернуть ваш объект в массив. Если вы используете список, попробуйте сначала преобразовать его в массив (используйте метод .ToArray ()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...