[英]Cross Tab Report - How to create this type of report jasper or crystal report
[英]How to create tree structure in Jasper Report?
通常,通过使用子报表(或列表/表组件)来实现具有所示数据结构的这种布局
结构为:
在所有x
上进行迭代的主报告包括y
和z
的subreport 1
,并将List<Y> list
作为数据源传递。
在所有y
上进行迭代的子报告1包括z
的subreport 2
,该subreport 2
将List<Z> list
作为数据源传递。
子报表2,对所有z
进行迭代。
为了生成数据源, JRBeanCollectionDataSource可以很好地为您服务,例如new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{list})
为了实现这一行跨度使用stretchType
的属性reportElement
(RelativeToBandHeight或RelativeToTallestObject)
例
<textField>
<reportElement stretchType="RelativeToTallestObject" x="0" y="0" width="100" height="20" uuid="bf6b550c-f37d-4e10-b8dd-1d91c4e6905a"/>
<textElement verticalAlignment="Middle"/>
<font size="12"/>
</textElement>
<textFieldExpression><![CDATA[$F{x}]]></textFieldExpression>
</textField>
您不喜欢子报表,对于一个级别的结构,可以使用<jr:list>
组件,请参见示例
我们遇到了同样的问题,搜索了一段时间后,我们决定使用jasper-report html组件来解决它。 它的作用是,它允许我们在报告中添加html内容。 因此,我们生成了html内容并将其存储在数据库中。 并将html数据插入jasper报告中。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.