我正在制作一份报告,只显示带有动态记录数的交叉表。
这意味着我需要一个没有固定宽度的主报告。到目前为止,我似乎没有一个干净的方法运气(我只是使宽度超大,超过10,000)。
因此有一些类型为DYNAMIC
或hasNoWidth
的build-it关键字,因此主报表的宽度将基于交叉表的宽度。
答案 0 :(得分:0)
对于单个交叉表,请使用属性ignoreWidth="true"
如果此属性设置为true,则交叉表将展开为 右边(如果交叉区方向是RTL,则向左) 因为它需要。这将导致交叉表单元格被渲染 在页面边界;这些元素将被某些导出 基于网格的导出器,如HTML或XLS导出器,但不会 以观察页面宽度的导出格式显示,例如PDF 出口。
注意:这对于导出是如何工作的,其中动态宽度可以作为HTML,XLS,但不能用于导出,其中动态宽度不可能作为PDF。
示例强>
<crosstab ignoreWidth="true">
....
</crosstab>
如果您希望ignoreWidth
报告中的所有交叉表,您还可以设置属性net.sf.jasperreports.crosstab.ignore.width
示例强>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Blank_A4" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="48809477-2290-4dda-a6f9-5d348ff0b70b">
<property name="net.sf.jasperreports.crosstab.ignore.width" value="true"/>
....
</jasperReport>