0
我使用的WPF水晶报表查看器,我很满意它。水晶报表子报表没有链接到我的主要报告
但是,我有一个Subreports的问题。
我在链接的子报表第一次尝试做这样的事情:
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]);
我仍然被提示输入参数值!我一直在这个小时!这不应该是这样的硬!任何人有任何其他的想法?是否有修补程序或我忽略的某些内容?