몇 가지 하위 보고서가 포함 된 RDLC 보고서가 있습니다. LocalReport_SubreportProcessing 이벤트로 모든 하위 보고서를 처리하고 있습니다. 이제이 하위 보고서 중 하나의 보고서에는 하위 보고서가 있습니다. 이 하위 보고서를 처리하는 방법에 대한 아이디어를 얻지 못하고 있습니까?rdlc에서 하위 보고서의 하위 보고서를 처리하는 방법은 무엇입니까?
주 보고서의 경우 이벤트를 추가했습니다. 하위 보고서의 하위 보고서를 처리하는 이벤트
void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
{
if (e.ReportPath == "rpt_PSRUserHoursDetail")
{
//Code
}
else if (e.ReportPath == "rpt_BEnchMiscDetails")
{
System.Data.DataTable dtBenchMiscSubReport =DataTable
ReportDataSource subRptSource = new ReportDataSource("DataSource", dtBenchMiscSubReport);
e.DataSources.Add(subRptSource);
(sender as Microsoft.Reporting.WebForms.LocalReport).SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessingBench);
CommonHelper.DisposeOf(dtBenchMiscSubReport);
}
}
코드에 대한
viewer.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
viewer.LocalReport.Refresh();
코드는 다음과 같습니다 :
void LocalReport_SubreportProcessingBench(object sender, SubreportProcessingEventArgs e)
{
int intProjectID = 0;
int int_UserID = 0;
if (e.Parameters.Count > 0 && e.ReportPath=="SubMiscellaneousTaskReport")
{
//get parameter
}
DateTime dtCurrentMonth = clsCheckDBNull.ToDate(string.Format("{0}-{1}-{2}", drpYear.SelectedValue, drpMonth.SelectedValue, "01"));
if (e.ReportPath == "SubMiscellaneousTaskReport")
{
System.Data.DataTable dt = DataTable
ReportDataSource subRptSource = new ReportDataSource("Dataset1", dt);
e.DataSources.Add(subRptSource);
}
}