質問

こんにちは、

テーブルから収集されたデータを含む.netオブジェクト(例:A)を作成しました。 次に、List<A>()を作成し、SetDataSource()オブジェクトのReportDocumentメソッドに渡します。 実行すると、例外がスローされました:

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

上記の例外はわかりませんが、エラーメッセージは明確ではありません。誰かが私のために説明できますか?例:.netオブジェクトはISerializable .....から継承する必要があります。

役に立ちましたか?

解決

この同じエラーが発生しましたが、レポートのデータソースとしてオブジェクトを使用しているときに発生しました。次のコードがありました:

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

同じエラーが発生しました。

SetDataSource行を次のように変更します:

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

助けて、今は正しく動作しています。 つまり、オブジェクトを配列でラップしてみてください。リストを使用している場合は、まずリストを配列に変換してみてください(.ToArray()メソッドを使用します)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top