2015-11-05 52 views
0

賈斯珀版本:6.0.1如何在碧玉報告中爲每個頁面設置限制行?

我想知道碧玉的版本是否改變了每個關鍵字?

我在去年的破解頁面上使用此代碼它的工作。

$V{COLUMN_NUMBER} == 6 

但現在停止工作。

例如:

<?xml version="1.0" encoding="UTF-8"?> 
<!-- Created with Jaspersoft Studio version 6.0.1.final using JasperReports Library version 6.0.0 --> 
<!-- 2015-11-06T11:20:46 --> 
<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="report8" language="groovy" columnCount="5" printOrder="Horizontal" pageWidth="995" pageHeight="842" columnWidth="138" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="5e2835cc-bc36-4f77-8631-08a8deaa28d7"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
    <property name="com.jaspersoft.studio.data.defaultdataadapter" value="spaTd"/> 
    <queryString language="MongoDbQuery"> 
     <![CDATA[{ 
    collectionName: 'branch', 
    findFields: { _id:1, code:1, name:1 } 
}]]> 
    </queryString> 
    <field name="_id" class="java.lang.String"/> 
    <field name="code" class="java.lang.String"/> 
    <field name="name" class="java.lang.String"/> 
    <detail> 
     <band height="22" splitType="Stretch"> 
      <textField> 
       <reportElement x="30" y="0" width="50" height="20" uuid="76707cdd-7dbe-477e-b3a4-38f9ba3bd003"/> 
       <textFieldExpression><![CDATA[$F{code}]]></textFieldExpression> 
      </textField> 
      <break> 
       <reportElement x="0" y="19" width="100" height="1" uuid="4f383cfa-5b99-465d-9a35-ca598aed7a6f"> 
        <printWhenExpression><![CDATA[$V{REPORT_COUNT} == 6]]></printWhenExpression> 
       </reportElement> 
      </break> 
      <textField> 
       <reportElement x="0" y="0" width="30" height="20" uuid="294bf799-580b-450e-9a04-a4c2f83ba296"/> 
       <textFieldExpression><![CDATA[$V{REPORT_COUNT}]]></textFieldExpression> 
      </textField> 
     </band> 
    </detail> 
</jasperReport> 

***我還是搞不清爲什麼列的6號未與其他網頁動?

enter image description here

+0

我不這樣做,它只是測試,就像我drawed,我只想當列達到5,另一列應該去另一個頁面 –

+0

我給你添加了一個答案如何用group ...和printOrder =「Horizo ntal「 –

回答

0

最後!它現在工作!

<?xml version="1.0" encoding="UTF-8"?> 
<!-- Created with Jaspersoft Studio version 6.0.1.final using JasperReports Library version 6.0.0 --> 
<!-- 2015-11-13T10:43:56 --> 
<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="report8" language="groovy" columnCount="5" printOrder="Horizontal" pageWidth="995" pageHeight="842" columnWidth="138" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="5e2835cc-bc36-4f77-8631-08a8deaa28d7"> 
    <property name="ireport.zoom" value="1.0"/> 
    <property name="ireport.x" value="0"/> 
    <property name="ireport.y" value="0"/> 
    <property name="com.jaspersoft.studio.data.defaultdataadapter" value="spaTd"/> 
    <queryString language="MongoDbQuery"> 
     <![CDATA[{ 
    collectionName: 'branch', 
    findFields: { _id:1, code:1, name:1 } 
}]]> 
    </queryString> 
    <field name="_id" class="java.lang.String"/> 
    <field name="code" class="java.lang.String"/> 
    <field name="name" class="java.lang.String"/> 
    <group name="ReportCount" isStartNewPage="true"> 
     <groupExpression><![CDATA[new Boolean($V{COLUMN_COUNT}<6)]]></groupExpression> 
     <groupHeader> 
      <band height="2"/> 
     </groupHeader> 
    </group> 
    <detail> 
     <band height="20" splitType="Stretch"> 
      <textField> 
       <reportElement x="30" y="0" width="50" height="20" uuid="76707cdd-7dbe-477e-b3a4-38f9ba3bd003"/> 
       <textFieldExpression><![CDATA[$F{code}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="0" y="0" width="30" height="20" uuid="294bf799-580b-450e-9a04-a4c2f83ba296"/> 
       <textFieldExpression><![CDATA[$V{REPORT_COUNT}]]></textFieldExpression> 
      </textField> 
     </band> 
    </detail> 
</jasperReport> 

結果:

enter image description here

enter image description here

enter image description here

1

的問題是在你的JasperReport printOrder="Horizontal"<break>命令打印才能正常工作,你需要有printOrder="Vertical"

但是如果我想有printOrder="Horizontal"第6列後分頁符我會使用組並做這樣的事情。

<group name="ReportCount" isStartNewPage="true"> 
    <groupExpression><![CDATA[new Boolean($V{REPORT_COUNT}<=6)]]></groupExpression> 
    <groupHeader> 
     <band height="2"></band> 
    </groupHeader> 
</group> 

因此作爲$ V {REPORT_COUNT}> 6從真切換 - >假,執行所述新組isStartNewPage="true"

+0

謝謝!我從你的代碼中引用,現在我操作它就像我想要的一樣! –