views:

274

answers:

1

HI all,

I created a .net object (ex: A) which contain data have been collected from tables. Next, i create a List<A>() and pass to SetDataSource() method of ReportDocument object. When i run then an Exception have been throwed :

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

I don't know the Exception above, Error message isn't clear. Can anybody explain for me? ex: the .net object must inherit from ISerializable.....

A: 

I had this same error, but encountered it when using an object as the data source for the report. I had the following code:

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

and got the same error.

Changing the SetDataSource line to this:

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

helped and it is now working correctly. In other words, try wrapping your object in an array. If you're using a list, try converting it to an array first (use the .ToArray() method).

deadtime