Reputation: 10712
I'm a product manager at a company that developed a web application. The system has a data warehouse that is used to create different reports using SSRS 2008-R2
The application has a portal infrastructure that allow users to customize their work environment using our "System" items and their own "Reports" (Very similar to using SharePoint and WebPart but for a whole different purpose)
I wonder if anyone have a set of best practices for displaying RDL reports on a live webpage, the intention that the user will be able (to some extent) provide some interaction between the report and our system using different links an query strings.
I have struggled with the following topics:
Parameters bar will not allow to increase the width of drop-downs which provides a poor user experience when the filter include long strings.
Report table width cannot be set to 100%, it could only refer to px width, this results in a black white space and dose not allow for a good resolution support (the portals look ugly)
The native .Net report viewer control dose not work well with browsers other than IE
There is no search\ quick search option for drop down filters.
Moving from page to page requires to view the navigation bar of the report viewer control which looks quirky when there are several reports on the same dash-board
Poor localization features - the loading animation cannot be changed to use a localized string.
Have anyone every tried anything like this? Are there other alternatives to Report Viewer Control that can provide more flexibility? Are there other tool that can provide report generation capability that can plug in easily with an existing system?
Upvotes: 1
Views: 1040
Reputation: 1897
For what its worth.
We have done this kind of scenario with reasonable success. The Report viewer control worked well on all browsers, as it generates pure html with small bits of javascript. We have tested it on IE7-8, FF (2008-2009), IPad 3.1, MacOs Safari and FF and it worked.
The way we done it:
Created separate web aspx project to host Report Viewer Control (ReportViewer). It actually acts as a reverse proxy to the SSRS website and provide query string parameter translation.
Main web application displays an IFRAME pointing to the ReportViewer app, and provide its own navigation and filtering controls.
ReportViewer app is a simple aspx page containing Microsoft.Reporting.WebForms.ReportViewer ctlReportViewer and some code for parameter transform from url to MS ReportViewer, security and other fluff.
Actual Report Viewer have its toolbar disabled. I belive its Toolbar=false. (you can view all query string parameters by checking properties of the actual report area).
Most of Locale specific strings needed to be handled manually on report level.
Overall it worked reasonably well for circa 100 clients, but for anything more than that I would look for a different solution. Perhaps 3rd party report control, or 3rd party dashboard controls. We have started Silverlight dashboard route but then the project run out of funds and I moved on.
You may still pull if off for larger amount of clients by creating multiple SSRS web servers and having your ReportViewer app picking up the least loaded one.
Upvotes: 2