2010-06-17 300 views

回答

11

好的!找到一種方法來完成這一點!

  1. 這些行通常打印在Details帶中。
  2. 在細節帶的末尾,您需要分頁符的地方添加分頁符。
  3. 在pageBreak的屬性中,從屬性窗格中編輯printWhen表達式。
  4. 表達將

new java.lang.Boolean((int)($V{REPORT_COUNT}.intValue())%10==0)

其中10是每頁記錄數。

這是如何在iReports中完成的。用於直接編輯文件的人員的jrxml等同於以下內容。

<break> 
    <reportElement x="0" y="23" width="100" height="1"> 
     <printWhenExpression><![CDATA[new java.lang.Boolean((int)($V{REPORT_COUNT}.intValue())%10==0)]]></printWhenExpression> 
    </reportElement> 
</break> 

剛下<details>標籤<band>標籤後,將這個。

+0

如果頁面有超過10行(如從答案的示例中),此解決方案運行良好。如果行數小於指定數量(textField的高度可能增加),則設計將被破壞。另一個問題 - 例如,當我們有一個10頁的偶數頁的報告時,例如40頁。空白頁將被添加到報告結尾。 – 2012-02-06 18:52:37

+0

@AlexK我目前無法訪問Jasper,因此無法確認,但是當記錄小於10時,分頁符不會被添加。因此,對於小於10的記錄,不會有分頁符,並且所有內容都會打印在第一頁中。關於添加額外頁面的下一部分可能是真的,不記得我使用的是什麼解決方法。 – 2012-02-16 11:24:00

1

這取決於您設置的頁面高度。

+0

頁面高度並不是正確的控制方式,如果文本大小發生變化,則計數將進行折騰。沒有其他方法可以指定計數嗎? – 2010-06-17 08:59:51

+0

然後你可以使用變量來做到這一點。你可以增加一個變量,直到你想要的限制達到。之後,你必須在其他頁面開始。我不知道是否有另一種方式來做到這一點。 – 2010-06-17 09:03:40

+0

找到了方法,請參閱我對該帖子的回答。 – 2010-06-17 09:54:26

相關問題