2013-05-06 58 views
1

我的問題是,即使線條是空白的,它仍然佔用樂隊高度的空間,因此在下一個樂隊之前存在比平常更大的空白。賈斯珀報告空白樂隊仍然佔用空間

樂隊在我的碧玉文件看起來像這樣:

<band height="30" splitType="Stretch"> 
    <staticText> 
     <reportElement uuid="274e9a4d-939e-46f6-8508-52ebc9051180" x="0" y="10" width="515" height="20" isRemoveLineWhenBlank="true" forecolor="#111B3F"> 
      <printWhenExpression><![CDATA[$F{projects_count} != "0"]]></printWhenExpression> 
     </reportElement> 
     <textElement verticalAlignment="Top"> 
      <font fontName="Arial Black" size="14" pdfFontName="jasper/fonts/ARIBLK.TTF"/> 
     </textElement> 
     <text><![CDATA[Project experience]]></text> 
    </staticText> 
</band> 

這裏我有文本靜態文本只應顯示<![CDATA[$F{projects_count} != "0"]]>時。這工作。在報告元素上,我還設置了isRemoveLineWhenBlank="true"

由於高度設置爲30,它仍然佔據了我的報告中的空間,我似乎無法弄清楚如何不僅不顯示文本,而且還刪除了樂隊如果它不符合某些條件,那就是這樣。

回答

6

亨德里 - 我知道你已經在樂隊內的文本字段上設置了打印時的表情?改爲爲整個明細帶設置「打印時」表達式。

<band height="30"> 
    <printWhenExpression><![CDATA[$F{projects_count} != "0"]]></printWhenExpression> 
      <textField> {... etc} 
+0

Lisa,我該如何做到這一點? – 2013-05-06 12:53:08

+0

將您的printWhenExpression移動到您的staticText標記之外(請參閱上面編輯的響應)。如果您正在使用iReport,請單擊詳細信息區域中的空白區域,然後在「屬性」窗口中編輯「打印表達式」值。 – Lisa 2013-05-06 12:56:10

+0

它的工作表示感謝。我還發布了另一種解決方案,我發現了 – 2013-05-06 13:00:12

0

我在發佈後立即找到解決方案。

它實際上工作,但因爲我有一個30的高度,並且我的staticText只有在y = 10開始的高度20,有10個像素(y = 0-9),不會被刪除。我通過將高度更改爲20並將y更改爲0來解決此問題:

<band height="20" splitType="Stretch"> 
    <staticText> 
     <reportElement uuid="274e9a4d-939e-46f6-8508-52ebc9051180" x="0" y="0" width="515" height="20" isRemoveLineWhenBlank="true" forecolor="#111B3F"> 
      <printWhenExpression><![CDATA[$F{projects_count} != "0"]]></printWhenExpression> 
     </reportElement> 
     <textElement verticalAlignment="Top"> 
      <font fontName="Arial Black" size="14" pdfFontName="jasper/fonts/ARIBLK.TTF"/> 
     </textElement> 
     <text><![CDATA[Project experience]]></text> 
    </staticText> 
</band>