неответвленный подотчет - PullRequest
3 голосов
/ 08 июня 2011

У меня есть отчет о яшме с несколькими подотчетами. Большинство из них работают нормально, но по какой-то причине один из моих подотчетов не разделяется, если он становится достаточно длинным, чтобы достичь конца страницы, вместо этого он переходит обратно к началу своего подробного раздела и продолжает писать там, перезаписывая предыдущий текст. Я не вижу никакой разницы между этим подотчетом и тем, который работает правильно. В настоящее время мой проект использует jasper-reports 1.2.5, но я попытался перейти на 4.0.1 (только для этого отчета), и результаты были такими же.

Это раздел jrxml, в который включен мой подотчет, который не работает:

<subreport  isUsingCache="true">
<reportElement
    x="0"
    y="172"
    width="468"
    height="21"
    key="subreport-3"
    positionType="Float"/>
<dataSourceExpression><![CDATA[$P{dataSourcePreviousYukonLicence}]]></dataSourceExpression>
<subreportExpression  class="java.io.InputStream"><![CDATA[this.getClass().getResourceAsStream("/config/template/subreportPreviousYukonLicence2.jasper")]]></subreportExpression>

И это раздел для того, что работает :

<subreport  isUsingCache="true">
<reportElement
    x="0"
    y="43"
    width="468"
    height="21"
    key="subreport-2"
    positionType="Float"/>
<dataSourceExpression><![CDATA[$P{dataSourceConvictionHistory}]]></dataSourceExpression>
<subreportExpression  class="java.io.InputStream"><![CDATA[this.getClass().getResourceAsStream("/config/template/subreportConvictionHistory.jasper")]]></subreportExpression>

Сами подотчеты очень похожи, все полосы имеют isSplitAllowed="true", и в них используются одинаковые шрифты и одинаковые типы элементов отчета.

Если у кого-то есть идеи, почему один должен разделиться правильно, а другой нет, мы очень ценим вашу помощь.

1 Ответ

4 голосов
/ 19 июля 2012

У нас была такая же или, по крайней мере, чрезвычайно похожая проблема.Причина не в отчете, а в определении подотчета.Он был настроен на создание нескольких столбцов, и когда он достиг последней строки отчета, он снова начинал сверху во втором столбце.Ниже приведена упрощенная дельта в нашем случае

-<jasperReport ... columnCount="3" pageWidth="240" pageHeight="555" ...>
+<jasperReport ...  pageWidth="240" pageHeight="555" ...>

Теперь полоса начинается на следующей странице, если подотчет не помещается на текущей странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...