经过一番修修补补,我离开了我的办公桌,我有了一个想法,我想到了一个解决办法。
我在第一个函数中创建了另一个子ReportProcessingEventHandler。
public void subReportProccessingFunc(object sender, SubreportProcessingEventArgs e)
{
sqls_Summary_Months.SelectParameters["LeaseID"].DefaultValue =
e.Parameters["prmLeaseID"].Values.First();
e.DataSources.Add(new ReportDataSource("dsLeaseCalculationsMonths",
sqls_Summary_Months));
this.rep_Main.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(subReportProccessingFunc1);
}
public void subReportProccessingFunc1(object sender, SubreportProcessingEventArgs e)
{
sqls_Summary_ViewMonth.SelectParameters["LeaseID"].DefaultValue = e.Parameters["prmLeaseID"].Values.First();
sqls_Summary_ViewMonth.SelectParameters["Month"].DefaultValue = e.Parameters["prmMonth"].Values.First();
e.DataSources.Add(new ReportDataSource("dsLeaseCalculationsViewMonth", sqls_Summary_ViewMonth));
}
因此,一旦第一个子报表被处理,第二个子报表将再次充当主报表,而另一个子报表将在其位置被处理。我可以为那一行选择prmMonth值,一切正常!