Centralising Reporting Services Stylesheets

  • Comments posted to this topic are about the item Centralising Reporting Services Stylesheets

  • Good work Adam. I spend a lot of my time authoring and maintaining Reporting Services reports, but my programming knowledge outside of SQL/T-SQL is VERY poor, and have therefore been quite slow to embrace the full set of features available.

    This article (and the first one) was very easy to follow, and I will definitely be trying to influence my team to use these techniques as soon as we can. We have a LOT of reports that do have a consistent look and feel, but this is achieved through us just being vigilant and making sure things are as they are meant to be. Of course, we don't always get it right, and heaven forbid we should ever have to change styles.

    Thanks for this. Hope you can show us more ways to use RS to the full.


  • Another thank you Adam.

    I have always wanted something like this but have been unsure how to implement it (and more than a little concerned about busting something!). This is a brilliant start for me.

    I would like to work towards having text content based on similar principles too. We run lots of business contracts here and groups of reports have to have standardised report disclaimers / security messages in the footer according to the contract we are provisioning. If I can control the text in a database row and then reference a function from a text box in the footer then I can be certain to have all reports content identical, and future updates (contract changes) will be much more easily propogated.

    thanks again


  • Hello Adam!

    So far your article is easy to follow, however I have a question. Whenever I launch Visual Studio I do not have a Class Library Project as an option, only SSAS, SSIS, and SSRS for SQL Server. Can you point me in the right direction?

  • Hi Christina,

    If I may answer on Adams behalf, it sounds as though you are attempting to open BIDS rather than a specific version of visual studio.

    The Express version of Vidual Studio is available to download for free and will provide what you are looking for.


  • One thing to keep in mind about using the dll method is that you may run into performance problems, especially in matrix cell formatting, as the call seems to be running per outputted cell.. maybe it was something I was doing that caused the call that often, but just something to be aware of.

  • Hi Christina,

    Just make sure that you have selected :

    Visual Basic


    On the left, and you will be able to select a class project.

    And thanks to John for the extra help - I was busy with a work crisis!



  • Thanks for this hint, Ryan, I will keep an eye out for performance problems.

    I have not noticed any so far - but the MDX & T-SQL on the reports I was using (before adding dll styles) was so slow that any preformance hit due to styling was lost in the general turgid nature of the output.

    Oh for enlightened managers and proper investment in hardware... (rant finished).



  • Ok, I am on the right track. thanks to both Adam and John!

  • I would like some help. I am trying to use the function what we created, I am getting the error:

    [rsCompilerErrorInExpression] The BackgroundColor expression for the text box ‘textbox11’ contains an error: [BC30451] Name 'DynamicStyleLibrary' is not declared.

    Build complete -- 1 errors, 0 warnings

    PLease help. Thank you.

  • Googd Work.

    Thanks a lot.

    This is the way I was expecting making a DLL and get rid of COPY-PASTE code into each report code-window.

    Your DLL with Table approach is awsome because there is no need to compile the DLL, if data value (color attribute) changes.

    Excellent work.



  • Thanks Nizam - and there's more next week in the final article in the series.


  • Hi Irina,

    I am not getting this - are you sure that yu are copying the code exactly as it is?



  • Hello, Adam.

    Thank you very much for your response.

    I followed instructions from article:Using a Custom Assembly, Using an SQL server table with Custom Assembly.I am getting the same error if I am trying to use any of them in my custom code. What can cause the error I am receiving? When I am building Class FixedStyleLibrary it should give me error if I didn't copy the code correctly. Right?

  • For Irina: The error is coming from the report itself. It cannot find the DLL. Make sure you add the reference in your *report* project to the style DLL, and that the latter is in the correct location at run-time.

    For Adam: DUDE! This rocks, especially the data-driven piece, which is exactly what I will implement. I've actually be waiting for the last week for this article to appear. The one thing I will try to add, and to address issues about performance, is caching of the result set from the DLL. I.e. Once the data is loaded from the database, it should be memory resident on the report server unless forced to reload. At the very least (in case in-memory caching is not doable), each report should have 2 functions: 1 calls a method inside the DLL that returns a dataset of all the style info and stores it in a variable in the report, and a second that searches the data set variable for the requested style for each property setting. I can't wait to get my fingers into this! Thanks for a great article.

    J Pratt

Viewing 15 posts - 1 through 15 (of 70 total)

You must be logged in to reply to this topic. Login to reply