我有一个可配置的win表单应用程序,我可以在其中设置子报表可以插入主报表的次数,如下所示:
配置页面:(导入子报告的顺序)
SubRep1 SubRep1 SubRep1 SubRep3 SubRep3 SubRep2 SubRep2 SubRep2
所以,在我的主报告中,我将导入/插入3次子报告1次,2次子报告2次和3次子报告2.每个子报告都有一个参数,我通过代码设置一个值,但它只出现在第一个报告的实例......
所以,就像这样:
SubRep1(有一个参数) SubRep1 SubRep1 SubRep3(有一个参数) SubRep3 SubRep2(有一个参数) SubRep2 SubRep2
问题是我需要为每个参数设置一个参数! 我的代码......
SetMainReportParameters(reportParameterList);
for (int i = 0; i < rlc.ReportLayout.Count; i++)
{
if (rlc.ReportLayout[i].SubreportName == "SectionReportTest1.rpt")
{
SetSectionOneReportParameters(reportParameterList);
}
if (rlc.ReportLayout[i].SubreportName == "SectionReportTest2.rpt")
{
SetSectionTwoReportParameters(reportParameterList);
}
if (rlc.ReportLayout[i].SubreportName == "SectionReportTest3.rpt")
{
SetSectionThreeReportParameters(reportParameterList);
}
}
并且在通过时...
//list of every parameter (main and subreports)
foreach (var current in reportParameterList)
{
if (string.IsNullOrEmpty(current.SubreportName))
{
document.SetParameterValue(current.Name, current.Value);
}
else
{
document.SetParameterValue(current.Name, current.Value, current.SubreportName);
}
}
答案 0 :(得分:0)
在主报表的*.rpt
文件中,您需要在子报表和主报表之间添加链接,并在其中传递参数值。应该可以在模板中子报表对象的上下文菜单中使用。