Wednesday, May 9, 2012

SSRS Parameters Greyed Out, SSRS 'Back Button' Issue

Hi guys,

I have been doing quite a bit of development on SSRS lately and I ran into quite an annoying bug which I still haven't been able to fix (although I have found a workaround). The bug that I am talking about is one that many people have come across when using the ReportViewer web part in SharePoint in order to display a SSRS Report in a SharePoint page.

Let me give a quick description:

When I am viewing Report A and this report has a link that links to Report B, I click on the link and then, as expected I am taken to Report B. Now if I want to go back the parent report, I can use the 'Back to Parent Report' button which is provided at the top of the ReportViewer web part. However, this button does not work correctly. When the button is clicked, the parameter list is not refreshed and so you get taken back to the parent report while your parameters are still those of the child report. I have also found that once I'm back on the parent report, with the wrong parameters displaying, links to other reports cease to work.

I don't have a lot of time now, so I will just cut right to the chase and say that here I will not provide a solution to the problem but simply a workaround.

What I did was to implement my own back button. I simply passed the parent report's parameters down to the child report. I obviously specified these parameters to be hidden on the child report. I then created a text box on the child report and implemented an action on the textbox. This action then takes me back to the parent report and passes the parent's parameters back to it in order for it to have the correct parameters now. Then in the ReportViewer web part, I simply hid the back button.

Too dirty for my liking, but it gets the job done. (I tried many other workarounds as well; I also installed SQL Server 2008 R2 SP1, which according to MS, should have worked, but didn't).

The other thing that I want to mention real quick is the issue of parameters acting kind of strange sometimes. In this particular case, parameters were greyed out for no reason. The parameters before it had values chosen.

Please make sure that the data set that you are getting the values from for the parameter, does not contain any NULL values as this will cause a greyed-out parameter if you use the data set to set the default values as well.

Thanks,

Happy coding!

Hermann

9 comments:

  1. Hi Hermann,

    Thanks for your post!
    This report viewer is driving me crazy.

    I implemented your solution and everything looks fine, i.e. parent report and parameters show properly when I go back from child to parent report.

    However, at this point, the link to the child report still doesn't work. Any idea? (I am not using any NULL value for parameters, only blank values).

    Many thanks!

    Dan

    ReplyDelete
  2. Dan, this is quite an annoying problem to have, but I guess the good news that I have for you is that since I wrote this blog I have found a better solution. Microsoft brought out a hotfix for this and we are currently using this hotfix in a huge project of ours with much success.

    I would suggest that you get rid of the back buttons that you implemented before and use the hotfix. It is a much cleaner solution and we are now using it in a production environment. For us it hasn't caused any other issues.

    http://hotfixv4.microsoft.com/SQL%20Server%202008%20R2/sp1/2008R2_SP1_RSShrPnt_CU2_2567714_10_50_27/10.50.2772.0/free/436185_intl_x64_zip.exe

    Please let me know if I can help you out some more.

    Believe me, I feel your pain :)

    Hermann

    ReplyDelete
    Replies
    1. Hi Hermann,

      Many thanks for your quick reply! ... and for sharing my pain :)

      I will look into the hotfix implementation and will come back to you asap.

      Dan

      Delete
    2. Hi Hermann,

      Just coming back to you for a small clarification.

      We have a SharePoint Farm installed on one server, SSRS installed on another server, and Report Server Databases running on a third server.

      Would you please indicate on which of those environments should the cumulative update be applied?

      Thanks again!!

      Dan

      Delete
  3. Dan,

    Let me just understand the situation a little bit better. You said that your RS is running on a different box than your SP; however if your RS is running on a different box and that box does not have SP installed, then you wouldn't be able to run RS in SP Integrated mode. So that makes me think that you are running RS in Native mode, but then I don't understand why you keep having trouble with the parameters since I have not seen that behavior in Native mode.

    I just wanted to ask those questions, so that maybe I can help you more if I understand the environment. So with all that said, if you ARE running it in SP integrated mode, then you have to install it on the all the SP boxes that are part of the farm.

    Let me know how it goes!

    ReplyDelete
  4. Hi Hermann,

    Many thanks again for your kind reply and assistance. Reporting Services is running in SharePoint Integrated mode. Therefore the SSRS server has SharePoint installed and is joined to the SharePoint farm. What I meant to say was that we are running in a distributed environment as follows:

    - 1 SharePoint Central Admin server
    - 1 SharePoint Web Front End server
    - 1 SSRS Server (in SharePoint Integrated mode)
    - 1 two-nodes SQL Server Failover Cluster that has an SQL Server instance containing both the SharePoint databases and the Report server databases.

    The question was therefore: should the SQL Server 2008 R2 SP1 Cumulative Update package be installed on the SSRS server only? We have installed it there but this does not fix the problem.

    I ommitted to indicate an important thing: the SSRS server runs SQL Server 2008 R2 SP1 (+ CU6 for SQL2008 R2 SP1 now) but the SQL Failover cluster where the SharePoint and Report Server databases are located runs SQL Server 2008 SP2 (non R2, no CU).

    May the problem come from that?

    Thanks,

    Dan

    ReplyDelete
  5. I see. Well to tell you the truth, I am not a 100% sure, since I have only applied this hotfix once and our client had the Web Front End and SSRS running on the same server. However, it would make sense to me to install it on the WFE box since that is where the Reporting Services Add-In is installed and that is where the web application pages reside if I'm not mistaken.

    As far as your question about the different SQL Server versions, I don't think that that is causing the problem since I think that the hotfix deals more with stuff on the front end than the back end. Please be advised that I am not expert on this matter, but this is what makes sense to me :)

    If I were you, I would install it on the WFE box and see if that fixes the problem.

    Keep me posted :)

    ReplyDelete
  6. Dan,

    I was just thinking about something and just wanted to see if I was at least understanding your problem correctly. Without implementing your own back button, were you also running into the issue of not getting the proper parameters displayed when going back to the parent report?

    I just thought that I should at least make sure that we are in fact talking about the same problem. I think that we are, but I never made a 100% sure, so I just want to clear that up!

    Also, to display your reports, are you using a SharePoint page with a ReportViewer webpart?

    Hermann

    ReplyDelete
    Replies
    1. Hi Hermann,

      We are talking about the same issue for sure.

      The fix was installed on the SSRS Server, based on the information at http://support.microsoft.com/kb/2486793. Unfortunatelly, it did not solve the issue.

      We use a ReportViewer webpart to display the reports.

      But anyway, too much time has been spent on this so I will re-design the report ... and make sure not to use linked reports ever again ;)

      Many thanks for your much appreciated support!

      Cheers,

      Dan

      Delete