| Summary: | Border cut off in merged rows with page breake | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | b7631011 | ||||||
| Component: | BIRT | Assignee: | Gang Liu <hustlg> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | Xiaoying Gu <bluesoldier> | ||||||
| Severity: | major | ||||||||
| Priority: | P3 | CC: | bluesoldier, jouyang | ||||||
| Version: | 3.7.0 | ||||||||
| Target Milestone: | 3.7.1 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
My understanding is that you are using BIRT Model API to generate report design. If I am right, please attach the report design created by your code. Please try to use script data set to reproduce the problem, it will help us to understand and locate the issue. To generate the reportdesign i use the Birt-Reportdesigner.
I use the API to fill the report with data:
CellHandle cell = (CellHandle) row.getCells().get(colNr);
if (cell.getContent().get(0) instanceof TextDataHandle) {
TextDataHandle lh = (TextDataHandle) cell.getContent().get(0);
lh.setValueExpr(text);
} else {
LabelHandle lh = (LabelHandle) cell.getContent().get(0);
lh.setText(text);
}
At this URL: http://www.birt-exchange.org/org/forum/index.php/topic/13741-table-border-cut-in-pdf-report/page__st__20
i have post the design-file and a pdf to show the bug.
It is the last post. "Posted 08 July 2011 - 12:38 AM"
Created attachment 199490 [details]
Bug-Sample
Created attachment 199492 [details]
reportdesign
The design you can run direct into you viewer. You dont have to insert data.
fixed. |
Build Identifier: IBM RSA 7.5.2 Hi, We use Birt to Version 3.7.0. My setup is a littlebit different from the standard way. We use embedded java objects (Hibernate) and must fill the report per java-method. The designfile is only a very simple and stupid table with some columns, 1 headrow and the detailrow. To show text i use standard lables. The are no aggregations, no scripts or other ruls in the designfile. The problem beginns when i merge two or more rows and within this rows a page breake contains. Reproducible: Always Steps to Reproduce: How i fill the report: At first i generate detailrows and fill them. So that each java-object is represented as a single detailrow. If i merge the rows, only column 0 and column 1 are used. The row-merge is generated into a java-method. At first i start in column 1 (Titel 'Detail 1'). I run through the detailrows from top down and compare for each row the current label in column 1 with the label in the row before. The same for the label in column 0. If they are equal i drop the current cell in column 1. If the current label and the label in the row before are not equal i begin to merge. private void createRowSpanDetail() throws SemanticException { String detail_old = ""; String risk_old = ""; int counter = 0; for (int i = 0; i < data_table.getDetail().getCount(); i++) { RowHandle row = (RowHandle) data_table.getDetail().get(i); CellHandle cell_risik = (CellHandle) row.getCells().get(0); LabelHandle lh_risk = (LabelHandle) cell_risk.getContent().get(0); CellHandle cell_detail = (CellHandle) row.getCells().get(1); LabelHandle lh_detail = (LabelHandle) cell_detail.getContent().get(0); if (detail_old.equals(lh_detail.getText()) && risk_old.equals(lh_risk.getText())) { counter++; ((RowHandle) data_table.getDetail().get(i)).getCells().get(1).drop(); } else { if (i != 0 && counter > 0) { ((CellHandle) ((RowHandle) data_table.getDetail().get(i - (counter + 1))) .getCells().get(1)).setRowSpan(counter + 1); counter = 0; } } detail_old = lh_detail.getText(); risk_old = lh_risk.getText(); } } At next i take the same for column 0. But here i compare only the lables in column 0.