2016-07-19 2 views
1

В моем коде у меня есть большой объем данных, которые сгенерированы в отчете яшмы внутри субрепортажа, который больше одной страницы. Когда я печатаю его, происходит нежелательный разрыв страницы. Один элемент иногда печатается на следующей странице, когда он не помещается на одной странице.Jasper Report Как напечатать ReportElement на следующей странице, если он не подходит на той же странице?

, что я хочу, чтобы это произошло:

what i want

что происходит вместо этого:

case now

вот мой код:

<group name="ExampleGroup"> 
    <groupExpression><![CDATA[null]]></groupExpression> 
    <groupHeader> 
     <band height="17" splitType="Stretch"> 
      <subreport isUsingCache="true"> 
       <reportElement key="subreport-1" positionType="Float" x="0" y="0" width="594" height="16" uuid="some uuid"/> 
       <parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression> 
       <dataSourceExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}.get("DataSource")]]></dataSourceExpression> 
       <subreportExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}.get("Data")]]></subreportExpression> 
      </subreport> 
     </band> 
    </groupHeader> 
    <groupFooter> 
     <band splitType="Stretch"/> 
    </groupFooter> 
</group> 

Я уже пытался решить эту проблему добавив параметр например, splitType = «Предотвратить» или keepTogether = «true», но оба вызвали пустую страницу. Параметры, которые я нашел, полезны только тогда, когда полоса должна быть напечатана на той же странице. Но в моем случае сгенерированные отчетыElements не должны быть разделены. Речь идет не о группе или группе! Потому что его содержимое в любом случае больше одной страницы. Я ничего не нашел в этой теме.

Возможно, было бы полезно добавить выражение типа Group Expression? Но я не знаю, что добавить здесь, чтобы сказать, что строка должна быть напечатана на следующей странице, когда осталось немного места.

Как я могу это решить? Я благодарен за любое предложение.

+0

Возможный дубликат [iReport subreport, деленный на разрыв страницы] (http://stackoverflow.com/questions/12491599/ireport-subreport-divided-by-a-page-break) –

ответ

1

Я решил это, добавив splitType = "Prevent" в группу внутри детали, которая вызывается в подзаголовке.