Click here to Skip to main content
6,822,123 members and growing! (16,668 online)
Email Password   helpLost your password?
Database » SQL Reporting Services » General     Intermediate License: The Code Project Open License (CPOL)

Implementing an Ugly Tab Structure in Reporting Services

By akjoshi

Implementing a tab control like structure in SQL Server 2005 reporting services report using tables and text boxes
C# (C#2.0), .NET (.NET2.0), ASP.NET, SQL-Server (SQL2005), WebForms, Dev, Design
Revision:3 (See All)
Posted:24 Jun 2008
Views:14,369
Bookmarked:22 times
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
5 votes for this article.
Popularity: 2.70 Rating: 3.86 out of 5

1
1 vote, 20.0%
2
1 vote, 20.0%
3

4
3 votes, 60.0%
5

Introduction

In this article, I will show a way to implement a tab structure in a SSRS report; as reporting services doesn't provide a lot of controls to design our reports so we need to use the existing controls to achieve our targets. To create a tab control in a report, I will use simple textbox and table control and visibility property of table control.

Background

I recently came across a post in ASP.NET forums asking about creating a report containing a tab control (How to create Excel like tab layout?). I faced a similar situation a few months back when our client strictly wanted to display only one table at a time in a report. I spent a lot of time to find out a way to achieve this, but had no luck and finally I came up with this approach. I must admit that I was not at all happy implementing such (ugly) tab structure, but the client was ok with this, so I did.

Requirement

So the requirement is that we have three tables which need to be displayed in a report and every table must be associated with a tab and at any given time, only one table will be visible in the report. User can select any of the given tabs and the corresponding table will become visible and the other will be hidden.

Challenges

Following are the problems in implementing a tab structure in reports:

  1. There is no tab control in reports.
  2. We don't have any way to capture events in reports, so we can't show/hide tables based on users' action.
  3. Even if we somehow implement this, we are not sure whether we will have the same output while we export the report in Excel, PDF and other formats.

Solution

Due to the limitations of report designer, we can't fulfill all the requirements so we will implement a tab structure with the following behavior:

We will have three tabs as required, but each tab will have a +/- sign, clicking on which will show/hide the tab data. This +/- sign is due to the use of Visibility can be toggled by another report item property of table control.

At the start, only one table will be visible and the user can click on any other tab (+/- sign). Clicking on tab (+/-) will show/hide the corresponding table. So if all three tabs are in expanded state (i.e. in - state), then all three tables will be visible and if all three tabs are in collapsed state (i.e. in + state), then all three tables will be hidden, tables can be in mixed state too based on tab states.

Implementation

Let's start with the implementation:

  1. Create a new report and add three text boxes and three tables to it, add table headers, create datasets and attach them to tables, etc.
  2. Get three images for the tabs, and set them as BackgoundImage of respective textbox. Also set their InitialToggleState to Expanded.

    TabControl2n.JPG

  3. Select first table, right click -> properties -> Visibility and check the Visibility can be toggled by another report item check box and select the corresponding textbox (tab) name from the Report item dropdown. This will attach the visibility of this table with this text box and a +/- sign will be displayed on that text box for toggling.

    TabControl3n.JPG

  4. Repeat the above step for the other two tables and also set their Initial visibility to Hidden.

That's it, preview the report and the outcome will be something like this:

TabControl4.JPG

A sample report is attached with the article for reference.

Known Issues

Although this tab structure was good enough for display, it has a few issues while exporting.

  1. Exported reports are not the same in PDF and Excel. In PDF, you will see tabs (textboxes) whereas in Excel, you won't.
  2. In PDF, only visible tables will come (The PDF document is rendered to match the current state of any items in the report), whereas in Excel all tables will be displayed irrespective of their visibility state.

History

  • 24th June, 2008: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

akjoshi


Member

Occupation: Software Developer
Company: Coreobjects
Location: India India

Other popular SQL Reporting Services articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 2 of 2 (Total in Forum: 2) (Refresh)FirstPrevNext
GeneralI m the one who posted in asp.net forums :) PinmemberShehbazBashir0:38 1 Jul '08  
GeneralCool. PinmemberSyed Mehroz Alam19:30 30 Jun '08  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads.

PermaLink | Privacy | Terms of Use
Last Updated: 24 Jun 2008
Editor: Deeksha Shenoy
Copyright 2008 by akjoshi
Everything else Copyright © CodeProject, 1999-2010
Web22 | Advertise on the Code Project