Solved

Import Subreport Data Programmatically

Posted on 2011-03-25
10
992 Views
Last Modified: 2012-05-11
I have a report file that I am sending values to and storing in text objects at runtime in my code. This report is being used as a subreport in my main report file. I have this subreport added to the main report but when the pdf is created, the subreport is blank and not showing the values that I sent to it.

How can I get the subreport to import the values I stored in it via code at runtime?
0
Comment
Question by:FIM2003
  • 5
  • 5
10 Comments
 
LVL 100

Expert Comment

by:mlmcc
ID: 35216641
How are you exporting the report?

If it is through the viewer then I don't think you can.

You could export through your own code and pass the values to the subreport then export and that should work.

mlmcc
0
 

Author Comment

by:FIM2003
ID: 35216701
Sending values to reportSummary (subreport) and exporting report (main report) to a PDF at the end of the code with:

report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "Statement");

Open in new window


However, I'm not sure what should go above that to ensure the report receives all of the values I sent to the reportSummary.
0
 
LVL 100

Expert Comment

by:mlmcc
ID: 35216784
How are you calling the viewer?

The code should be the same except for calling the export rather than the viewer

mlmcc
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 

Author Comment

by:FIM2003
ID: 35216833
Not using a viewer. The code just passes parameters to the report and some additional data to the subreport file and then exports the pdf.

0
 
LVL 100

Expert Comment

by:mlmcc
ID: 35216942
How are you passing the information to the subreport?

Is the subreport set to reimport on open?

mlmcc
0
 

Author Comment

by:FIM2003
ID: 35217272
Here is some of the code for how I am passing different information to each of the reports. I'm just including a few lines as examples since it's nearly all of the same, just multiple variables.

The subreport does have "Re-import When Opening" enabled.


private CrystalReportBill report = new CrystalReportBill();
private BillSummary reportSummary = new BillSummary();

CrystalDecisions.CrystalReports.Engine.TextObject lblBalanceDue = ((CrystalDecisions.CrystalReports.Engine.TextObject)reportSummary.Balance.ReportObjects["lblBalanceDue"]);
lblBalanceDue.Text = String.Format("{0:C}", row["Amount_Due"]);

report.SetParameterValue("@cwid", id);
report.SetParameterValue("@begdate", begDateCR);
report.SetParameterValue("@enddate", endDateCR);

report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "BillingStatement");

Open in new window

0
 
LVL 100

Expert Comment

by:mlmcc
ID: 35217336
Turn off the reimport.

Where are you opening the subreport in the code?

mlmcc

0
 

Author Comment

by:FIM2003
ID: 35217354
Okay, that was originally disabled but I enabled it to try when it was originally not working.

The summary (subreport) is being added in the Report Header.
0
 

Author Comment

by:FIM2003
ID: 35217451
Oh, whoops sorry. Read right over the "in the code."

The subreport is being created before the Page_Load:

public partial class BillMonth : System.Web.UI.Page
{
        string id;
        private CrystalReportBill report = new CrystalReportBill();
        private BillSummary reportSummary = new BillSummary();
        
        protected void Page_Load(object sender, EventArgs e)
        {

Open in new window

0
 
LVL 100

Accepted Solution

by:
mlmcc earned 500 total points
ID: 35217760
Is BillSummary the subreport?

You need to open it as a subreport object not as its own report.

mlmcc
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question