2012-05-24 107 views
3

我有一個主報告,並在主報告中稱此子報告:避免拆分到多個頁面

<detail> 
    <band height="50"> 
     <subreport> 
      <reportElement x="0" y="1" width="802" height="49" isPrintInFirstWholeBand="true" isPrintWhenDetailOverflows="true"/> 
      <subreportParameter name="project_id"> 
       <subreportParameterExpression><![CDATA[$P{project_id}]]></subreportParameterExpression> 
      </subreportParameter> 
      <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> 
      <subreportExpression><![CDATA["subs/Project_planned.jasper"]]></subreportExpression> 
     </subreport> 
    </band> 
</detail> 

沒有在報表中的問題,因爲在細節帶文本字段被分割在多頁上看起來不怎麼樣。有沒有使用屬性isStretchWithOverflow

它的外觀(遺憾的丟失數據)的文本字段

   <textField isStretchWithOverflow="true" isBlankWhenNull="true"> 
       <reportElement stretchType="RelativeToBandHeight" x="555" y="0" width="99" height="21" isPrintInFirstWholeBand="true" forecolor="#000000"/> 
       <box leftPadding="2"> 
        <topPen lineWidth="1.0" lineColor="#000000"/> 
        <leftPen lineWidth="1.0" lineColor="#000000"/> 
        <bottomPen lineWidth="1.0" lineColor="#000000"/> 
        <rightPen lineWidth="1.0" lineColor="#000000"/> 
       </box> 
       <textElement verticalAlignment="Middle"> 
        <paragraph lineSpacing="Single"/> 
       </textElement> 
       <textFieldExpression><![CDATA[$F{logic}]]></textFieldExpression> 
      </textField> 

實施方式的電流代碼時,防止文本字段防止分割到多個頁面的選項:

avoid split of text field on multiple pages

回答

10

是的,但不是在文本字段。對於文本字段所在的樂隊,您可以將分組類型設置爲Prevent。如果您在Detail Band上設置該行,並且該行需要溢出到下一頁,則會將整行移動到下一頁。

+0

我在iReport的試過,但每次當我選擇這個選項就變回''所以我想這是不可能在我的處境,但是當我這個硬編碼在XML:'<帶高度=」 50「splitType =」防止「>'仍然不起作用...另一個建議? – Michel

+0

我發現了這個問題。我已在主要報告的詳細區域設置了分報告。這發生在幾個奇怪的行爲。我現在在頁腳設置子報表,它似乎解決了我的問題,除了我的主頁頁眉現在沒有在每個頁面上顯示 – Michel

+0

另一個評論:我解決了它。不知道究竟如何,但似乎是固定的。 Subreport仍然是主要報道的樂隊。 'Prevent'上子報表的細節類型以及文本字段上的以下屬性:'stretchType =「RelativeToBandHeight」height =「21」isPrintInFirstWholeBand =「true」isPrintWhenDetailOverflows =「true」' – Michel