This is a migrated thread and some comments may be shown as answers.

Export from report viewer as TRDX?

6 Answers 687 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Rhea
Top achievements
Rank 1
Rhea asked on 09 Nov 2012, 03:06 PM
Good morning,

I was wondering if it is possible to export from the report viewer as a TRDX? I am currently working on a web application that uses the report viewer to display reports. This is because we have an offfsite associate who needs to view it. A big driving force of why we tried telerik was because of the option of the standalone designer. However, after playing around with it, I realized that you need to work with only a trdx and the report viewer on the site does not have an option to do this.

I am replicating all the data that is possible for use in the report viewer, but I thought I could use the standalone designer for our offsite associate to format the reports and pick and choose data which she finds necessary. Is this possible or will she definitely need to connect to our DB, in order to do so?

Thanks in advance for your help.

6 Answers, 1 is accepted

Sort by
0
Steve
Telerik team
answered on 14 Nov 2012, 12:36 PM
Hello Rhea,

Trdx is not among the export formats, because this format makes sense only for our standalone designer, moreover it allows users to download the actual report template, which in most cases is undesired.
As far as we understand from your inquiry, you want your offsite associate to make modifications to the reports you've created, correct? If the original reports are created via the Visual Studio designer, you can either serialize them to .trdx file as shown in the Serializing Report Definition in XML help article or provide her with the compiled .dll which holds your report classes and she can manually do this by using the built-in tool for importing reports, for more info see How to: Import reports created with the VS Report Designer.

Of course if the required changes would require not only altering the existing report layout, but also choosing which data fields would be shown on the report, then yes, the user would need database connectivity or in the very least a mockup of your data, so that the Data Explorer and report wizards would be populated. You can save a valid connection string either in the Telerik.ReportDesigner.exe.config file which you have to distribute along with the standalone exe or by saving it in each separate report, in which case it would be part of the trdx file.

Last but not least you should consider how would you work with the report once they are modified by offsite users. If they would be working with the standalone designer, then you can utilize UriReportSource or XmlReportSource. If you prefer to work with CLR objects, then you can deserialize the trdx files and use UriReportSource.

All the best,
Steve
the Telerik team

HAPPY WITH TELERIK REPORTING? Do you feel that it is fantastic? Or easy to use? Or better than Crystal Reports? Tell the world, and help fellow developers! Write a short review about Telerik Reporting and Telerik Report Designer in Visual Studio Gallery today!

0
kenneyy kenn
Top achievements
Rank 1
answered on 21 Jan 2013, 12:15 PM
Hello Steve,

Following on from this thread. We have a requirement to export a report to .trdx for some of our techy end-users to fiddle with.

I acheived this successfully with the WPF based reportViewer. We now have a need to expose this functionality to those on the web and thats where i'm runing into problems, especially with the line below.

telerikXmlSerializer.Serialize(xmlWriter, this.reportViewer1.ReportSource);


When i try and open up the exported report using the Report Designer i get the following error

System.InvalidCastException: Unable to cast object of type 'Telerik.Reporting.InstanceReportSource' to type 'Telerik.Reporting.Report'.
   at Telerik.ReportDesigner.Packages.ReportDesigner.Serialization.ReportDesignerLoader.ReadReport()
   at Telerik.ReportDesigner.Packages.ReportDesigner.Serialization.ReportDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)

Please help!

Thanks

Kenn

P.S

We (our company) have licenses for Telerik Reporting and paid for support as well - if this helps
0
Steve
Telerik team
answered on 22 Jan 2013, 04:00 PM
Hi Kenn,

The exception message is straight-forward, you have specified an invalid type as second argument of the Serialize method. It expects IReportDocument while you have provided ReportSource. See Serializing Report Definition in XML help article for explanation and code snippets.

Kind regards,
Steve
the Telerik team

HAPPY WITH REPORTING? Do you feel that it is fantastic? Or easy to use? Or better than Crystal Reports? Tell the world, and help fellow developers! Write a short review about Telerik Reporting and Telerik Report Designer in Visual Studio Gallery today!

0
Paweł
Top achievements
Rank 1
answered on 20 May 2014, 01:43 PM
Hi Steve,
I have searched resolving for my problem and come across this thread.
I think, the last post didn't resolved Kenn's problem. You suggested http://www.telerik.com/help/reporting/programmatic-xml-serialization.html, but there report was build programmatically from the base.
He (and I too) wants to serialize report from ReportViewer to trdx file, where Report is loaded for example from dll or other trdx file.
I used to use ReportViewer.Report (http://www.telerik.com/help/reporting/p_telerik_reportviewer_webforms_reportviewer_report.html) but this is obsolete.
How can I get Report object from ReportViewer?
For example to change parameters or export to trdx.

Regards,
Paweł
0
Nasko
Telerik team
answered on 23 May 2014, 06:51 AM
Hello Pawel,

The ReportViewer.Report has become obsolete and now the ReportViewer.ReportSource is used instead. You can get the report object from the ReportSource property of the viewer. If you have assigned an InstanceReportSource to the viewer then retrieve the report as follows:
var irs = this.ReportViewer1.ReportSource as Telerik.Reporting.InstanceReportSource;
var report = irs.ReportDocument as Telerik.Reporting.Report;

Regards,
Nasko
Telerik
 

Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

 
0
Paweł
Top achievements
Rank 1
answered on 26 May 2014, 07:26 AM
Thanks Nasko.
It's working.

Regards
Paweł
Tags
General Discussions
Asked by
Rhea
Top achievements
Rank 1
Answers by
Steve
Telerik team
kenneyy kenn
Top achievements
Rank 1
Paweł
Top achievements
Rank 1
Nasko
Telerik team
Share this question
or