Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Table borders and pagination
leonelag
Hi all,<br />
<br />
In my report, I have a long table that is expected to paginate over several pages.<br />
<br />
This table is required to look like this. Notice the gaps between the columns.<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
Page 1
+
+ +
+ +
+ +
+
| Name | | Col1 | | Col2 | | Col3 |
| A | | 1 | | 1 | | 1 |
| B | | 1 | | 1 | | 1 |
| C | | 1 | | 1 | | 1 |
| D | | 1 | | 1 | | 1 |
| E | | 1 | | 1 | | 1 |
| F | | 1 | | 1 | | 1 |
| | | | | | | |
+
+ +
+ +
+ +
+
Page 2
+
+ +
+ +
+ +
+
| Name | | Col1 | | Col2 | | Col3 |
| G | | 1 | | 1 | | 1 |
| H | | 1 | | 1 | | 1 |
| I | | 1 | | 1 | | 1 |
| J | | 1 | | 1 | | 1 |
| K | | 1 | | 1 | | 1 |
| L | | 1 | | 1 | | 1 |
| | | | | | | |
+
+ +
+ +
+ +
+
</pre>
<br />
I have designed this as a single table with empty columns for the gaps.<br />
For the non-empty columns, I have set the cell to have borders on the left and right, but not on top nor bottom. The footer cells have a border on top.<br />
<br />
Problem is, when the table paginates, the last cells on a page do not show the bottom border. I would like each page to show the columns closed with borders.<br />
<br />
The are two attachments: the first shows how a table in the middle is drawn without the bottom border; the second shows the last page of a report, the borders are drawn correctly.<br />
<br />
Any ideas on how to make the report draw the borders on all the pages, not only the last ?<br />
<br />
I have also attached a CSV source file and the report design file.<br />
<br />
<br />
This is on Birt 2.5.0.<br />
<br />
Thanks.
Find more posts tagged with
Comments
mwilliams
Hi leonelag,
Take a look at the modifications I made to your report design. Remember to change the directory file for the .csv file back to where you have the file saved in your dataSource.
I added a computed column that did a running count of your rows. Then, I created a group on your table based on this column. The reason for needing to do this is that the table footer doesn't get displayed until the end of the table, not at the end of each page. A group footer is displayed at the end of each group, so by making a group that will fit to the page and page breaking after it, you guarantee a footer at the bottom of each page.
Hope this helps. Let me know if you have questions.
leonelag
Wow, very nice. :cool:
That's exactly what I needed, I'm going to put this in my report right away. Thanks for answering so fast.
This is one point where Birt could be improved. It's confusing that we have to make such a turnaround for a simple thing, adding groups to a table that didn't need them in the first place.
Come to think of it, if headers can be repeated along pages, I wish footers could too...
--
Leonel
mwilliams
Leonel,<br />
<br />
I agree completely that it would be a great feature to have. I'm sure it may have already been requested, but this would definitely be something I would recommend requesting as an enhancement. You can do so here:<br />
<br />
<a class='bbc_url' href='
http://www.eclipse.org/birt/phoenix/reportabug.php'>BIRT
: Reporting Bugs and Requesting Enhancements</a>
fredbeneti
Hi, I saw the solution and I would like to know if is it possible to do the same in a crosstab? I can't find some option to set the interval.
For example, I have 100 rows and I need to show 10 by 10, so in the final I must have 10 pages (it's a crosstab).
mwilliams
Hi fredbeneti,
What is your BIRT version? Newer versions have columnar and row page breaks that you can set an interval for. Down in the property editor under column/row area tabs.