Jump to content

BIRT Developer Center

DevShare Source for user-contributed BIRT articles, tips and code

Devshare Home >> Multi-Path Drill Down
- - - - -

Multi-Path Drill Down

Download Resource


Provide the ability to give multiple drill paths to a single link within a BIRT report

Full Description:

This solution gives you a great way to provide multiple drill paths / hyperlinks to a BIRT report. It is accomplished by displaying a popup / context menu where you would define the multiple paths. The beauty here, is that all visual components are designed as standard report controls, and thus can be styled pretty much anyway you want.
I created this solution using Actuate BIRT version 10 milestone 12. This is BIRT 2.3.2. The solution is specific to run within the Actuate 10 Viewer, however I'm sure it can be tailored to work with the open source viewer if required.

How to Deploy:
1) Unzip BIRT Control Tips.zip somewhere
2) You'll get another zip file (birt-tips.zip) a sample report design, and a library file.
3) BRD Deploy: copy birt-tips.zip to: C:Program FilesActuate10BRDProeclipsepluginscom.actuate.birt.report.viewer_2.3.2.v20081001iportal and unzip it
4) iPortal / Information Console Deploy: copy birt-tips.zip to: C:Program FilesActuate10iPortaliportal and unzip it
5) Run the sample design (and reference the library).

How to design a report with this:
1) Reference the library (put in in the same project folder)
2) On your report give a bookmark to the item you want to kick off the popup. Make sure the bookmark is data driven, so that you will get a unique name for each row. (ie: "tip_link_" + row.__rownumber)
3) Create the actual popup / context menu itself on the data row (grid works great). You can put it in the same column, or in a new column. Give the grid a bookmark name as well (ie: "tip_container_" + row.__rownumber)
4) Put the birt-tips-header control in the master page header (my sample does not do this, but you should)
5) Put the birt-tips-footer control in the master page footer (again my sample does not do this, but you should)
6) Put the birt-tips-content control anywhere in your main table's detail row. It doesn't matter where, as long as it will run 1x for each row.
7) On the birt-tips-content control that you dragged in, there are 2 advanced properties, which are expressions. These properties are called birtTipLink and birtTipContainer. Their expression values should be the same as the ones you gave to your control which kicks off the action, and the control which contains the actual popup / context menu itself.

- Do not put a hyperlink property on the item that will kickoff the action, it may interfere with the link that is put on there via javascript
- You may need to set an explicit width on your popup / context menu control, otherwise you'll get some odd effects
- Do not explicitly hide the popup / context menu, this is done for you
- There will be a slight delay when the report loads up, where the popup menus are all visible, I suggest putting it in the right most column to avoid distractions as much as possible.