2012-02-10 26 views
2

我必须创建一个报表,其中几个表格彼此相邻。每个表都从一个SubDataset获取数据,并且不包含任何一行或多行。

对于该报告的第一个版本,我根本无视无行的表的可能性,并把下面对方,每个表都用1行的高度。这个想法是,如果有多行,表格将会高度增长,这似乎工作正常。我已经给了第一张表一个固定的位置,并设置所有后续的浮动。在iReport的它看起来像这样:在JasperReports中相互显示下面的表格

enter image description here



但是,当我创建报表,只有第一个表是在预期的位置。剩下的就是显示过低和重叠:

enter image description here



任何想法如何解决这一问题?我无法使用子报表,因为报表存储在数据库中,所以我无法引用其他报表。是否有另一种替代子报表或表格的方法?

+0

你可以在这里找到完整的源:[http://pastebin.com/ZPKqwwvs](http://pastebin.com/ZPKqwwvs) – Johannes 2012-02-10 14:56:28

+0

“我能”不要使用子报表,因为报表存储在数据库中,所以我不能引用其他报表。“您可以使用'repo:'语法在存储在数据库中时引用其他报告。 – 2012-02-10 21:07:09

+0

不知道,谢谢。我会研究它,但我不确定这是否是一种选择,因为数据库不存储任何信息,这些信息可以识别我想要嵌入的报告。 – Johannes 2012-02-13 07:44:17

回答

4

你有“位置类型”属性设置为“修复相对于上”。将其更改为“浮动”。

+0

只有三张桌子中的第一张有固定位置。这没关系,因为它始终始于相同的位置。 如果我将它更改为浮动,它只是向下移动到其余表格,重叠它们。 – Johannes 2012-02-13 07:40:34

+0

嗯......是的,第一个固定,另外两个是浮动的。但是第一张桌子应该出现在完全相同的地方,不管它是否是浮动的。它被推倒的事实也许是潜在问题的一个症状。您可以尝试通过在表格之间放置一个Text Field或一行(也设置为流动)并查看它结束的位置。 – mdahlman 2012-02-13 16:56:00

0

亚历克斯, 尝试寻找到使用子报表。我创建表后跟另一个(数据源是XML)。

  1. 使用XPath子报表的
  2. 使用的数据源Expression属性来设置报表 数据源创建报表((net.sf.jasperreports.engine.data.JRXmlDataSource)$ P {} REPORT_DATA_SOURCE)。subDataSource ( “/ FUND_STATEMENT /基金/基金”)