Friday, May 7, 2010

Embedding HTML within text is possible with Reporting Services. But the problem is, whether Reporting Services supports all HTML tags or not, and that is what I am going show here:

Simply, if you get a value that contains HTML tags, the value can be shown as “HTML”, not as just a value. For example, if a value coming from a column is something like this:

<b><i>Can this be render as HTML?</i></b>

This can be shown as:

Can this be render as HTML?

This does not automatically happen. If you do not instruct to Reporting Services to render the values as HTML, it will be shown as it is. The instruction has to be passed via placeholders. As you know, when you place a field in a cell, it is placed in a placeholder, and all your formatting will be applied to the placeholder. Reporting Services 2008 allows you to add multiple placeholders in a single cell and have different formatting on them, resulting a cell contains values from multiple columns, with different formatting.

So, if you get a value like above and need show them as you want, not just set of HTML tags, get the properties of the placeholder and select the second radio button HTML – Interpret HTML tags as styles.

When I tested this, I noticed a kind of issue (for me :)), a discrepancy with BIDS preview and SSRS Report Manager preview. Let me show you. I created below table in tempdb and inserted one record. The values in the record contains set of HTML tags. What I have really added to both Description1 and Description2 is: Here is the code.

If you clearly go through the code, you will see that, though the output of HTML tags are same, a small different is exist between Description1 HTML tags and Description2 HTML tags, for the title which is “SQL Server 2008 R2 has RTMed”. Then I created a Reporting Services project and created a report with this record. Here is my report with BIDS.

Then I opened the placeholder properties of Description1 and set the Markup type as HTML. I did same for Description2 too. Here is the preview of the report.

My next step was, publishing the report. This is what I see when the report is published.

Can you see the difference of preview between designer and report manager? This is because of the HTML tags we have used with Description1. Designer preview shows both columns as we need but Report Manager does not show it properly. I am not sure about the reason, it must be a limitation with HTML renderer in Reporting Services.

HTML Tags supported by Reporting Services 2008As I mentioned before, Reporting Services 2008 does not support all HTML tags. Here are tags that can be used with Reporting Services 2008.

Remember, although it supports tags like <SPAN> and <DIV>, it seems it does not take the attributes we add to them. Note that I have set the same style for Description1 title, just like the one I have applied to Description2. Only difference is, I have used <SPAN> for Description1 and <FONT> for Description2. Once complied and published, it seems the Reporting Services has not taken the added attributes in <SPAN> tag to the complied report.

Search This Blog

About Me

Dinesh Priyankara (MSc IT) is an MVP – Data Platform (Microsoft Most Valuable Professional) in Sri Lanka with 16 years’ experience in various aspects of database technologies including business intelligence. He has done many local and foreign business intelligence implementations and has worked as a subject matter expert on various database and business intelligence related projects. He is the Founder/Principal Architect of dinesQL (Pvt) Ltd and he consults, teaches and runs training programs on data related solutions and subjects.