2011-12-09 124 views
1

我在JasperReports子報表中遇到了以下問題,我一直試圖解決過去幾天沒有成功的問題。以下是我想要做的事情的圖像。JasperReports文本字段拉伸 - 可拉伸高度是否有限?

我在其中一個報告中有一個子報表,這個報表比較簡單。它有一個帶有單個文本字段(圖像中標記爲棕色)的標題樂隊,其中包含兩個項目的子報表標題和一個詳細波段:打印我的訂單項和文本字段的子報表(標記爲藍色)和文本字段圖像)打印與打印在其左側的訂單項關聯的評論。訂單項子報告可以打印可變數量的訂單項(由bean集合支持的數據源)。我的客戶要求是,評論字段會拉伸並顯示輸入的文字,但受限於訂單項部分的高度(由圖片上的箭頭表示)。我不知何故需要防止評論超出訂單項並使它們具有相同的高度(圖像中應該沒有綠框)。

有沒有人有任何提示,這可能是什麼(並且可以)在JasperReports中實現?

p.s. 目前,我們正在編制我們的報道與JR版本3.6

enter image description here

回答

7

把這兩樣子報表和文本字段插入一幀。對於文本字段,設置「溢出拉伸」到「拉伸類型爲」「相對於最高的對象」

在它的容器中的文本字段將相對拉伸至最高的對象。它的容器現在是框架,所以「最高的對象」只能是子報表。確定元素在定義時的高度相同,否則它們會以不同的速率增長。

JRXML樣本:

<band height="50"> 
    <frame> 
     <reportElement x="0" y="0" width="555" height="50"/> 
     <subreport> 
      <reportElement x="0" y="0" width="378" height="50"/> 
      ... 
     </subreport> 
     <textField isStretchWithOverflow="false"> 
      <reportElement stretchType="RelativeToTallestObject" x="378" y="0" width="177" height="50"/> 
      ... 
     </textField> 
    </frame> 
</band> 
+0

不幸的是,這並沒有解決我的問題。如果我將註釋文本字段**「Stretch with overflow」**設置爲** false **,則註釋不會填滿整個框,只顯示第一行。 – MBuda

+0

這很好奇。我只是自己檢查了一下,果然,雖然盒子被正確拉伸,但內容仍然限於其原始大小。我認爲這一定是JR的一個bug。 – GenericJon