Bug 183272 - Provide tree-based controls with ability to expand/collapse data in a report
Summary: Provide tree-based controls with ability to expand/collapse data in a report
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 2.2.0   Edit
Hardware: PC Windows XP
: P3 enhancement with 2 votes (vote)
Target Milestone: Future   Edit
Assignee: Birt-Report-inbox@eclipse.org CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted, plan
Depends on:
Blocks:
 
Reported: 2007-04-19 16:19 EDT by Deepa Remesh CLA
Modified: 2011-10-10 08:55 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Deepa Remesh CLA 2007-04-19 16:19:49 EDT
BIRT should be featured with controls like Drill Down, Tree Based controls with the features like “Expand All”, “Collapse All”, etc.

A use-case to support this requirement would be – Building a report which shows log messages captured during execution of a job/activity in the system. In such cases, using a drill down control the log messages can be shown as a tree depicting the exception/error stack trace. Another example is to show some hierarchy based data similar to a windows folder structure.

I think this is a very useful feature and also requested by other users in newsgroup posts:
http://dev.eclipse.org/newslists/news.eclipse.birt/msg01930.html
http://dev.eclipse.org/newslists/news.eclipse.birt/msg14608.html
Comment 1 Ivy Li CLA 2007-05-22 03:55:53 EDT
New feature, can consider to support in next release.
Comment 2 Scott Rosenbaum CLA 2008-06-10 11:08:09 EDT
My assumption is that you want this control to be populated with data that comes from an ODA.  There are a couple of ways that this could be implemented.  

Method 1: Flatten Data First
In the first method, all of the data would be flattened top rows and columns format.  One of the columns would be a pointer to the parent entry (parent row).  In the UI for the control, you would specify:
 - the ODA dataset
 - the parent pointer column
 - the data column for the entry (a unique key perhaps)
 - the label column for the entry (what shows up in the UI)

Method 2: Recursive Lookup 
This method would be populated using multiple recursive calls to the data set.  When a user clicks to expand a column, a new query would be run passing in parameters from the current node.  You would want to probably pre-populate the data to a certain depth.  I think this approach while more powerful and perhaps easier for the developer introduces a lot of issues (performance, runtime, etc.)

Finally, I have concerns about how this control will work under various emitter types.  How would a PDF emitter handle this type of control?  Would the idea be that opening a node would re-run the report and generate a new PDF to that level of detail?  Or are you thinking of a control type that only works in the HTML format with some level of built in function?



Comment 3 Narinder Makin CLA 2008-10-22 09:20:00 EDT
We have a similar requirement where an API needs to be called recursively to produce a tree like result.