【发布时间】:2016-03-01 22:41:55
【问题描述】:
我正在制作一个仅显示具有动态记录计数的交叉表的报告。
这意味着我需要一个没有固定宽度的主报表。到目前为止,我似乎没有使用干净的方法(我只是让宽度超大,比如超过 10,000)。
那么是否有某种针对宽度的 build-it 关键字,例如 DYNAMIC 或 hasNoWidth,以便主报告的宽度将基于交叉表的宽度。
【问题讨论】:
我正在制作一个仅显示具有动态记录计数的交叉表的报告。
这意味着我需要一个没有固定宽度的主报表。到目前为止,我似乎没有使用干净的方法(我只是让宽度超大,比如超过 10,000)。
那么是否有某种针对宽度的 build-it 关键字,例如 DYNAMIC 或 hasNoWidth,以便主报告的宽度将基于交叉表的宽度。
【问题讨论】:
对于单个交叉表,使用属性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>
【讨论】: