Creating a SubReport in SQL Server Reporting Services

by PodcastMike on July 23, 2009

in Programming

I am documenting this here because this is very difficult to find anywhere online.

When you are creating a report in Visual Studio, one of the options you have is to create a subreport. I tried to make one a year ago and gave up after failing to get it to run correctly. This time around though, I finally figured out what I was missing.

Here is what you need to do:

  1. create your report and subreport as you normally would.
  2. Add parameters to the subreport and make sure to pass those same parameters in the subreport control on the “master” report.
  3. Here is where I had problems. On your .aspx page add
    OnSubreportProcessing="ReportViewer1_SubreportProcessing"
    to
    <LocalReport>
  4. Then in your .aspx.cs file add the following method: protected void ReportViewer1_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
     {
         report_vw_ActionLogTableAdapter actionTA = new report_vw_ActionLogTableAdapter();
         DataSet ds = new DataSet();
         ds.Tables.Add(actionTA.GetActionLogDataByServiceRequestID(e.Parameters["ServiceRequestID"].Values[0]));
         ReportDataSource dataSource = new ReportDataSource("CustomerService_ActionLog", ds.Tables[0]);
         e.DataSources.Add(dataSource);
     }
    Replace the italics with your appropriate values.

There you have it!

Comments? Feedback? Leave a comment!

Leave a Comment

Previous post:

Next post: