如何在使用交叉表时设置动态主报表宽度?

时间:2016-03-01 09:22:48

标签: jasper-reports crosstab

我正在制作一份报告,只显示带有动态记录数的交叉表。

这意味着我需要一个没有固定宽度的主报告。到目前为止,我似乎没有一个干净的方法运气(我只是使宽度超大,超过10,000)。

因此有一些类型为DYNAMIChasNoWidth的build-it关键字,因此主报表的宽度将基于交叉表的宽度。

1 个答案:

答案 0 :(得分:0)

对于单个交叉表,请使用属性ignoreWidth="true"

来自Schema reference

  

如果此属性设置为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>