Telerik Reporting offers industry’s first built-in Silverlight Viewer

by Reporting Team | Comments 8

The Q3 2009 release is now in the past, but the newly introduced features are here to stay. Although the newly introduced JustCode productivity tool stirred quite a bit of excitement at PDC and in our forums, it cannot yet shade the native Silverlight support for reports created with Telerik Reporting.

Telerik Reporting Silverlight Viewer

Although there are several Silverlight viewer implementations out there, most notably for SQL Reporting Services, there is no reporting product that offers true native support for Silverlight. The Telerik Silverlight Report Viewer is designed to render Telerik Reports within Silverlight projects (see demos). The Silverlight viewer uses the same rendering engine and offers the same functionalities (including parameters and exporting to all supported formats) as the other viewers, so it guarantees that you will always get the same look and feel of your reports, regardless of the environment.

True Printing from Silverlight

What makes the viewer special is not just its native support for Silverlight, but its printing capabilities. Yes, it features True Print support – a feature that is not yet available in Silverlight 3, but is available in Telerik Reporting (printing will be available in SL4, as announced at PDC 2009). By using True Printing we do not depend on the browser's printing capabilities; instead we use our own paging and rendering capabilities for positioning the elements exactly when printing through the Silverlight (or the ASP.NET for that matter) report viewer.

The Technology

The most significant difference between the Silverlight viewer and the other two report viewers is that the new viewer, being Silverlight, lives entirely on the client side, while the reports and the rendering engine are on the server side. The viewer is built on the MVVM pattern that has already become standard in the Silverlight and WPF worlds, with almost completely separated UI and model that allows unlimited customization of the viewer's UI. In order to display the reports in the viewer, we had to introduce a few new features to Telerik Reporting, one being a new

XAML rendering engine

Quite self-explanatory, the engine helps us render and send the reports in XAML format in order for the viewer to show them. There is an extra benefit that we got from the new engine however, and it is the ability to

Export Reports to XPS format

Since reports can be rendered in XAML on the server, Export to XPS is available in all supported applications (Win, Web and Silverlight).

Telerik Reporting WCF Service

In order to pass the XAML to the SL viewer, we added a WCF service that enables the remote access to the Telerik Reporting Engine, i.e. the service acts as a communication interface between the client programs and the report server:

RadControls for Silverlight

Naturally, the new viewer uses Telerik’s RadControls for Silverlight, which need to be included in the application in order for the viewer to work. We reused the controls’ Office 2007 Black theme as the viewer’s default theme, but you can nevertheless easily customize the viewer, because we provide

Full support for Microsoft Expression Blend 3

 

Getting started with Telerik Reporting Silverlight Viewer

We have created a 5 minute video on Getting Started with Telerik Report Viewer for Silverlight, which will show you how to add Telerik Reporting to your Silverlight application. You can also check the online documentation: Silverlight Viewer Introduction or check out the demos.

What’s next?

Well, there are a few minor things already planned for the next version. For one, we plan to extend the viewer’s Theme support to be consistent with the themes, available for our Silverlight controls. We are also working on improving the parameter support.

What else would you like to see added to our Reporting Silverlight support? Are there any specific features that you are missing?

About the author

Vassil Petev

Vassil Petev

has been helping Telerik become the top .NET company it is today since early 2003. During this adventure, he has been involved in technical support and sales, in building the renowned Telerik support team, in the creation of the Public Issue Tracker, and in project-managing the Reporting and WinForms product lines. Today he works with the brightest marketing folks to promote the ever-growing DevCraft portfolio. He loves the great outdoors, yachting, house music, DJing, and skiing.

@RadControls

8 Comments

Ben Hayat
The SL viewer does a lot of work to communicate with the server and get it's report to client. Having all that power there is not something that I want to re-invent. So, what I would like to do is to use the SL viewer as a "Batch command" or "Silent form" format. What I mean is that, I can request for a report and when it's ready, I'd like it to be exported to one of those options that are available on the toolbar. This way, when the report is ready, it will not display the viewer, but the dialog box to user where to save the result or perhaps we could have the report in a local (client) variable (i.e. xps format) that we can use it for other purposes.

So, would it possible to give us an option that we can export the result to file or local variable without displaying the viewer?

Thanks!
..Ben
Ben Hayat
Forgot the second question: Does the report take advantage of WCF binary compression or Telerik compression system introduced recently with the RADGrid in SL?

Thanks!
..Ben
John Galt
Two words:

REPORT DESIGNER
Jesper Petersen
Native support for printing your Sl controls. Specially the Scheduler which is not so easy to recreate.

Cheers /Jesper
Renaud
Hello,

1) multiple properties like ReloadButtonVisibility, or PrintButtonVisibility.

2) Having the ability to manage the viewer with specific properties. I mean only Report and ReportUri are not enough. I would like to manage the viewer content.
For example if I have a listbox containing a result of 3 or 4 reports, I would like to be able to choose one of them and assigning it to the viewer, like an ItemsSource.

3) ReportBook objects, as implemented for winforms

4) XPS rendering by default (no more extensions to load)
Andrew
Out of band parameters to the reporting engine for authentication and authorization purposes. Either directly or provide access to the wcf proxy/channel so we can inject custom headers.
Vassil Petev
Thank you for the feedback, guys! Much appreciated.

@Renaud:
1) You have access to these properties through the Silverlight Viewer's ControlTemplate. Just load it in Blend and hide the buttons you do not need. You can even create your own SL viewer, because the reports are not tied to the viewer; check this blog for such an implementation: Using Telerik Report WCF Service (or how to display reports in RadBook)
2) Yes, this is possible - see above (we will add a new help topic on the topic). As to your particular listbox example, please check the SL demos, which are installed locally - we have a very similar implementation there with a combo.
3) Nice suggestion, we have logged it.
4) Check the Rendering Extensions help topic.

@Andrew: This is possible in the latest Internal Build. We will be releasing SP1 this week, which will offer this functionality as well.

Comments

  1.    
      
      
       
  2. (optional, emails won't be shown on public pages)
  3. (optional)
Read more articles by Reporting Team - or - read latest articles in Developer Tools