2016-03-01 79 views
1

我正在製作一個僅顯示具有動態記錄計數的交叉表的報表。如何在使用交叉表時設置動態主報表寬度?

這意味着我將需要沒有固定寬度的主要報告。到目前爲止,我似乎沒有一個乾淨的方法運氣(我只是使寬度超大,像超過10,000)。

那麼是否有某種build-it關鍵字的寬度,如DYNAMIChasNoWidth,以便主報表的寬度將基於交叉表的寬度。

回答

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> 
+0

另外我想知道如果你可以的話ake一個配置,當它超過頁面高度時不會切斷交叉表。但是我會理解你是否想要另一個問題。 –

+0

你不希望它在新的頁面?...它應該繼續?你的出口是什麼? –

+0

我不這樣做,因爲報告必須連續只在一張表中。我會說excel,我決定只把頁面的頂部和底部邊距設置爲0. –