2009-11-30 7 views
2

Salut à tous,Utilisez l'objet de tant que source de données dans Crystal Report 2008

J'ai créé un objet .net (ex: A) qui contiennent des données ont été recueillies à partir des tables. Ensuite, je crée un List<A>() et passer à la méthode SetDataSource() de l'objet ReportDocument. Quand je lance une exception ont été throwed:

Je ne sais pas l'exception ci-dessus, un message d'erreur est pas claire. Quelqu'un peut-il expliquer pour moi? ex: l'objet .net doit hériter de ISerializable .....

Répondre

4

J'ai rencontré la même erreur, mais je l'ai rencontrée lors de l'utilisation d'un objet comme source de données pour le rapport. J'avais le code suivant:

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

et a obtenu la même erreur.

Modification de la ligne de SetDataSource à ceci:

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

aidé et il est maintenant fonctionner correctement. En d'autres termes, essayez d'encapsuler votre objet dans un tableau. Si vous utilisez une liste, essayez d'abord de la convertir en tableau (utilisez la méthode .ToArray()).