Community
Participate
Working Groups
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
New feature, can consider to support in next release.
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?
We have a similar requirement where an API needs to be called recursively to produce a tree like result.