2012-03-19 15 views
1

レポートテーブルを作成しました。私はページごとに5行のデータを表示するように設定しました。今問題は、テーブルが表示されない5行未満のデータがある場合です。ジャスパーレポートで5行未満のデータを表示する方法

私はすべてのセクションに$V{REPORT_COUNT} %5 == 0を入れました。

5行未満でもデータ行が表示されるようにこの式を変更するにはどうすればよいですか?

+0

'page break'要素を使用しようとしましたか? –

+0

可能な重複:[各ページの行数を制限する方法は?](http://stackoverflow.com/questions/9617082/how-do-i-limit-the-number-ofrows-on-eachページ) –

答えて

4

私は仕事で忙しい一日を送っていたので、以前は返信できませんでした。申し訳ありません。あなたのレポートデザインを見て、私は「ページ区切り」機能が本当に必要なものではないことを発見しました。 $ F {PARENT_NAME} + (($ V {REPORT_COUNT}%5 == 0)? "1": "2")にグループ式を変更しました。 「新しいページで開始」パラメータをtrueに設定します。また、グラフのデータを変更しました。以下のjrxmlデータを確認してください:

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="ChartLineBless" language="groovy" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
    <parameter name="P_YEAR" class="java.lang.String"> 
     <defaultValueExpression><![CDATA[]]></defaultValueExpression> 
    </parameter> 
    <parameter name="P_AGENCY_CODE" class="java.lang.String"> 
     <defaultValueExpression><![CDATA[]]></defaultValueExpression> 
    </parameter> 
    <parameter name="P_SECTOR_LOOK_CODE" class="java.lang.String"> 
     <defaultValueExpression><![CDATA[]]></defaultValueExpression> 
    </parameter> 
    <field name="PARENT_NAME" class="java.lang.String"/> 
    <field name="PARENT_NAME_SECTOR" class="java.lang.String"/> 
    <field name="AGENCY_PARENT_CODE" class="java.lang.String"/> 
    <field name="AGENCY_CODE" class="java.lang.String"/> 
    <field name="AGENCY_NAME" class="java.lang.String"/> 
    <field name="YEAR" class="java.lang.String"/> 
    <field name="SECTOR_ID" class="java.lang.String"/> 
    <field name="SECTOR_NAME" class="java.lang.String"/> 
    <field name="DYEAR1" class="java.math.BigDecimal"/> 
    <field name="DYEAR2" class="java.math.BigDecimal"/> 
    <field name="DYEAR3" class="java.math.BigDecimal"/> 
    <field name="DYEAR4" class="java.math.BigDecimal"/> 
    <field name="DYEAR5" class="java.lang.String"/> 
    <field name="YR1" class="java.math.BigDecimal"/> 
    <field name="YR2" class="java.math.BigDecimal"/> 
    <field name="YR3" class="java.math.BigDecimal"/> 
    <field name="YR4" class="java.math.BigDecimal"/> 
    <field name="YR5" class="java.math.BigDecimal"/> 
    <variable name="YR1_1" class="java.math.BigDecimal" resetType="Group" resetGroup="agensi" calculation="Sum"> 
     <variableExpression><![CDATA[$F{YR1}]]></variableExpression> 
    </variable> 
    <variable name="YR2_1" class="java.math.BigDecimal" resetType="Group" resetGroup="agensi" calculation="Sum"> 
     <variableExpression><![CDATA[$F{YR2}]]></variableExpression> 
    </variable> 
    <variable name="YR3_1" class="java.math.BigDecimal" resetType="Group" resetGroup="agensi" calculation="Sum"> 
     <variableExpression><![CDATA[$F{YR3}]]></variableExpression> 
    </variable> 
    <variable name="YR4_1" class="java.math.BigDecimal" resetType="Group" resetGroup="agensi" calculation="Sum"> 
     <variableExpression><![CDATA[$F{YR4}]]></variableExpression> 
    </variable> 
    <variable name="YR5_1" class="java.math.BigDecimal" resetType="Group" resetGroup="agensi" calculation="Sum"> 
     <variableExpression><![CDATA[$F{YR5}]]></variableExpression> 
    </variable> 
    <group name="agensi" isStartNewPage="true" minHeightToStartNewPage="550"> 
     <groupExpression><![CDATA[$F{PARENT_NAME} + 
(($V{REPORT_COUNT} % 5 == 0) ? "1" : "2")]]></groupExpression> 
     <groupHeader> 
      <band height="98"> 
       <textField> 
        <reportElement x="332" y="84" width="85" height="14"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[$F{DYEAR2}]]></textFieldExpression> 
       </textField> 
       <textField> 
        <reportElement x="247" y="84" width="85" height="14"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[$F{DYEAR1}]]></textFieldExpression> 
       </textField> 
       <staticText> 
        <reportElement x="43" y="71" width="204" height="27"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center" verticalAlignment="Middle"/> 
        <text><![CDATA[Agency Name]]></text> 
       </staticText> 
       <staticText> 
        <reportElement x="10" y="71" width="33" height="27"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center" verticalAlignment="Middle"/> 
        <text><![CDATA[No.]]></text> 
       </staticText> 
       <textField> 
        <reportElement x="417" y="84" width="85" height="14"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[$F{DYEAR3}]]></textFieldExpression> 
       </textField> 
       <staticText> 
        <reportElement x="247" y="71" width="425" height="13"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <text><![CDATA[Year]]></text> 
       </staticText> 
       <staticText> 
        <reportElement x="672" y="71" width="85" height="27"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center" verticalAlignment="Middle"/> 
        <text><![CDATA[Total]]></text> 
       </staticText> 
       <textField> 
        <reportElement x="587" y="84" width="85" height="14"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[$F{DYEAR5}]]></textFieldExpression> 
       </textField> 
       <textField> 
        <reportElement x="502" y="84" width="85" height="14"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[$F{DYEAR4}]]></textFieldExpression> 
       </textField> 
       <staticText> 
        <reportElement x="0" y="22" width="802" height="26"/> 
        <textElement textAlignment="Center" verticalAlignment="Middle"/> 
        <text><![CDATA[5 YEAR STATISTICS ON APPLICATION RECEIVED (BY ALL AGENCIES)]]></text> 
       </staticText> 
      </band> 
     </groupHeader> 
     <groupFooter> 
      <band height="208"> 
       <printWhenExpression><![CDATA[$V{REPORT_COUNT} % 5 == 0]]></printWhenExpression> 
       <textField> 
        <reportElement x="672" y="0" width="85" height="20"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[new Integer($V{YR1_1}.intValue() + $V{YR2_1}.intValue()+ 
$V{YR3_1}.intValue()+ $V{YR4_1}.intValue())+ $V{YR5_1}.intValue()]]></textFieldExpression> 
       </textField> 
       <staticText> 
        <reportElement x="10" y="0" width="237" height="20"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <text><![CDATA[                 Total]]></text> 
       </staticText> 
       <textField> 
        <reportElement x="587" y="0" width="85" height="20"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[$V{YR5_1}]]></textFieldExpression> 
       </textField> 
       <textField> 
        <reportElement x="502" y="0" width="85" height="20"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[$V{YR4_1}]]></textFieldExpression> 
       </textField> 
       <textField> 
        <reportElement x="417" y="0" width="85" height="20"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[$V{YR3_1}]]></textFieldExpression> 
       </textField> 
       <textField> 
        <reportElement x="332" y="0" width="85" height="20"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[$V{YR2_1}]]></textFieldExpression> 
       </textField> 
       <textField> 
        <reportElement x="247" y="0" width="85" height="20"/> 
        <box> 
         <pen lineWidth="0.5"/> 
         <topPen lineWidth="0.5"/> 
         <leftPen lineWidth="0.5"/> 
         <bottomPen lineWidth="0.5"/> 
         <rightPen lineWidth="0.5"/> 
        </box> 
        <textElement textAlignment="Center"/> 
        <textFieldExpression><![CDATA[$V{YR1_1}]]></textFieldExpression> 
       </textField> 
       <lineChart> 
        <chart> 
         <reportElement x="144" y="34" width="549" height="173"/> 
         <chartTitle/> 
         <chartSubtitle/> 
         <chartLegend/> 
        </chart> 
        <categoryDataset> 
         <dataset resetType="Page"/> 
         <categorySeries> 
          <seriesExpression><![CDATA["YEAR1"]]></seriesExpression> 
          <categoryExpression><![CDATA[$F{DYEAR1}]]></categoryExpression> 
          <valueExpression><![CDATA[$V{YR1_1}]]></valueExpression> 
         </categorySeries> 
         <categorySeries> 
          <seriesExpression><![CDATA["Year2"]]></seriesExpression> 
          <categoryExpression><![CDATA[$F{DYEAR2}]]></categoryExpression> 
          <valueExpression><![CDATA[$V{YR2_1}]]></valueExpression> 
         </categorySeries> 
         <categorySeries> 
          <seriesExpression><![CDATA["YEAR3"]]></seriesExpression> 
          <categoryExpression><![CDATA[$F{DYEAR3}]]></categoryExpression> 
          <valueExpression><![CDATA[$V{YR3_1}]]></valueExpression> 
         </categorySeries> 
         <categorySeries> 
          <seriesExpression><![CDATA["YEAR4"]]></seriesExpression> 
          <categoryExpression><![CDATA[$F{DYEAR4}]]></categoryExpression> 
          <valueExpression><![CDATA[$V{YR4_1}]]></valueExpression> 
         </categorySeries> 
         <categorySeries> 
          <seriesExpression><![CDATA["YEAR5"]]></seriesExpression> 
          <categoryExpression><![CDATA[$F{DYEAR5}]]></categoryExpression> 
          <valueExpression><![CDATA[$V{YR5_1}]]></valueExpression> 
         </categorySeries> 
        </categoryDataset> 
        <linePlot> 
         <plot/> 
        </linePlot> 
       </lineChart> 
       <break> 
        <reportElement x="0" y="206" width="802" height="1"/> 
       </break> 
      </band> 
     </groupFooter> 
    </group> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <detail> 
     <band height="20" splitType="Stretch"> 
      <textField> 
       <reportElement x="43" y="0" width="204" height="20"/> 
       <box> 
        <pen lineWidth="0.5"/> 
        <topPen lineWidth="0.5"/> 
        <leftPen lineWidth="0.5"/> 
        <bottomPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement/> 
       <textFieldExpression><![CDATA[$F{PARENT_NAME_SECTOR}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="247" y="0" width="85" height="20"/> 
       <box> 
        <pen lineWidth="0.5"/> 
        <topPen lineWidth="0.5"/> 
        <leftPen lineWidth="0.5"/> 
        <bottomPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement textAlignment="Center"/> 
       <textFieldExpression><![CDATA[$F{YR1}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="332" y="0" width="85" height="20"/> 
       <box> 
        <pen lineWidth="0.5"/> 
        <topPen lineWidth="0.5"/> 
        <leftPen lineWidth="0.5"/> 
        <bottomPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement textAlignment="Center"/> 
       <textFieldExpression><![CDATA[$F{YR2}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="417" y="0" width="85" height="20"/> 
       <box> 
        <pen lineWidth="0.5"/> 
        <topPen lineWidth="0.5"/> 
        <leftPen lineWidth="0.5"/> 
        <bottomPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement textAlignment="Center"/> 
       <textFieldExpression><![CDATA[$F{YR3}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="502" y="0" width="85" height="20"/> 
       <box> 
        <pen lineWidth="0.5"/> 
        <topPen lineWidth="0.5"/> 
        <leftPen lineWidth="0.5"/> 
        <bottomPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement textAlignment="Center"/> 
       <textFieldExpression><![CDATA[$F{YR4}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="587" y="0" width="85" height="20"/> 
       <box> 
        <pen lineWidth="0.5"/> 
        <topPen lineWidth="0.5"/> 
        <leftPen lineWidth="0.5"/> 
        <bottomPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement textAlignment="Center"/> 
       <textFieldExpression><![CDATA[$F{YR5}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="10" y="0" width="33" height="20"/> 
       <box> 
        <pen lineWidth="0.5"/> 
        <topPen lineWidth="0.5"/> 
        <leftPen lineWidth="0.5"/> 
        <bottomPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement textAlignment="Center"/> 
       <textFieldExpression><![CDATA[$V{COLUMN_COUNT}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="672" y="0" width="85" height="20"/> 
       <box> 
        <pen lineWidth="0.5"/> 
        <topPen lineWidth="0.5"/> 
        <leftPen lineWidth="0.5"/> 
        <bottomPen lineWidth="0.5"/> 
        <rightPen lineWidth="0.5"/> 
       </box> 
       <textElement textAlignment="Center"/> 
       <textFieldExpression><![CDATA[new Integer($F{YR1}.intValue() + $F{YR2}.intValue()+ $F{YR3}.intValue()+ $F{YR4}.intValue())+ $F{YR5}.intValue()]]></textFieldExpression> 
      </textField> 
     </band> 
    </detail> 
    <columnFooter> 
     <band height="23"> 
      <textField evaluationTime="Report"> 
       <reportElement x="445" y="3" width="40" height="20"/> 
       <textElement/> 
       <textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="365" y="3" width="80" height="20"/> 
       <textElement textAlignment="Right"/> 
       <textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression> 
      </textField> 
     </band> 
    </columnFooter> 
</jasperReport> 
+0

私はそれを試みました。あなたが与えるjxmlファイル。まず、テーブルから飛び出した行。 startpagenew = trueを設定するため、各ページに1行しか表示されません。私はそれをオフにすると、データは5行のページを表示します。しかし、全体の行とグラフは最後のページに表示されません。次に、私は変更グループのexpresionが$ F {PARENT_NAME_SECTOR} +(($ V {REPORT_COUNT}%5 == 0)? "1": "2")です。私はこのファイルを更新しようとし、それを修正して私にフィードバックを与えることを願っています –

+0

私はあなたの要件を知らないが、それを実装する方法を与えました。あなたは残りをする必要があります! – bchetty

+0

このような状況。私は1つのテーブルに5行のペーパージを表示したい。その行は1ページごとに1〜5の数字を得た。私はあなたの例を試してみました。はい、それは成功です。しかし問題は最後のページのデータが表示されないことです。どうしてか分かりません。あなたは私の写真を見ることができますか?上記のコードを更新しました。あなたはそのコードを見ることができます。ここで私の写真。最初のページと最後のページ [1]:http://i.stack.imgur.com/GJamQ.jpg [2]:http://i.stack.imgur.com/xrfUR.jpg –

2

「ポートレート」と500/550(レポートデザインによって異なる)の「minHeightToStartNewPage」プロパティが700/800(レポートデザインによって異なる)に設定されたダミーグループを作成し、風景 'の設定。このダミーグループのprintWhenExpressionの値を '$ V {REPORT_COUNT}%5 == 0'に設定することができます。

注:minHeightToStartNewPageの値が正しく設定されていないと(ページの長さを超えて)、無限ループの問題が発生する可能性があります。

+0

ダミーグループ?レポートでこの機能を見たことはありません。どのように私はそれを得ることができます。あなたは私に教えてくれますか? –

+0

jrxmlファイルを私に提供できる場合は、その方法を教えてください。 – bchetty

+0

私は自分のコードを入れました。あなたはすぐに返信できることを願っています。ありがとう。 –

関連する問題