WPF Crystal Report Viewerを使用していますが、かなり満足しています。
ただし、サブレポートに問題があります。
サブレポートをリンクする最初の試みは、次のようなものでした。
ReportDocument.Load(Response.ReportsPath + "\\myReport.rpt");
ConnectionInfo.DatabaseName = "myDatabase.mdb";
SetDBLogonForReport(ConnectionInfo, ReportDocument);
ReportDocument.Database.Tables[0].Location = "Table0";
ReportDocument.Database.Tables[1].Location = "Table1";
foreach (var document in ReportDocument.Subreports.OfType<ReportDocument>())
{
SetDBLogonForReport(ConnectionInfo, document);
document.Database.Tables[0].Location = "CommonSubreportTable";
}
残念ながら、これは機能しません。
私はいくつかの異なる解決策を試しました。あるブロガーは、メインレポートの前にサブレポートを設定する必要があると提案しました。
だから私はこれを試しました:
ReportDocument.Load(Response.ReportsPath + "\\myReport.rpt");
foreach (var document in ReportDocument.Subreports.OfType<ReportDocument>())
{
SetDBLogonForReport(ConnectionInfo, document);
document.Database.Tables[0].Location = "CommonSubreportTable";
}
ConnectionInfo.DatabaseName = "myDatabase.mdb";
SetDBLogonForReport(ConnectionInfo, ReportDocument);
ReportDocument.Database.Tables[0].Location = "Table0";
ReportDocument.Database.Tables[1].Location = "Table1";
それでも動作しませんでした。別のブロガーは、DataSetsが進むべき道であると提案しました。
だから、私はそれをしました。
ConnectionInfo.DatabaseName = "MyDatabase.mdb";
foreach (ReportDocument document in ReportDocument.Subreports)
{
document.SetDataSource(response.Dst);
}
ReportDocument.Database.Tables[0].SetDataSource(response.Dsx.Tables[0]);
ReportDocument.Database.Tables[1].SetDataSource(response.Dsc.Tables[0]);
私はまだパラメータ値の入力を求められています!!! 私は何時間もこれにいました!!! これはこれほど難しいことではありません!!! 誰もが他のアイデアを持っていますか?修正プログラムなど、見落としているものはありますか?