I have an invoicing app that loads data from various sources and shows a balancing report that compares costs, etc... Once the invoice is balanced and ready to be paid, it is set to approved status. The problem is that sometimes invoice balancing reports need to be viewed later after processing, and some data may have changed in the interim. So I would like to snapshot the invoice report when an invoice is set to approved status.
I have found solutions for rendering a report to pdf - those are easy enough to implement, but every request for how to view pdfs with the telerik ReportViewer control has been answered with "it's not supported, and we won't consider supporting it." So I can export the report to pdf when then invoice is approved, but I have no way to display it to the user. I could just open up the system pdf viewer, but that creates a weird disjointed experience - if the user selects 5 invoices to view reports and 3 of them are Approved and 2 are Pending, the pending ones will be displayed as part of the same ReportBook in the Winforms ReportViewer, but the other 3 would have to be opened in a separate window with Adobe Reader. What I really want is to create an Invoice.GetReport() function that returns a ReportSource that encapsulates either a Report to be generated or a saved "frozen" report with the details that existed when the invoice was approved.
Is there any way at all to save a Rendered report (in any format - it doesn't have to be pdf) and then view it at a later time within the same user interface that I am using to display live reports?