Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support filling detail band rows to specified number of rows or page … #58

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 108 additions & 0 deletions jasperreports/demo/samples/list/reports/ListReportWithFill.jrxml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
<?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="ListReportWithFill" columnCount="2" pageWidth="595" pageHeight="842" columnWidth="250" columnSpacing="15" leftMargin="40" rightMargin="40" topMargin="50" bottomMargin="50" uuid="3de5a1ab-15fd-4dec-bc88-dc18453bf715">
<style name="Sans_Normal" isDefault="true" fontName="DejaVu Sans" fontSize="12" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
<style name="Sans_Bold" fontName="DejaVu Sans" fontSize="12" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
<style name="Sans_Italic" fontName="DejaVu Sans" fontSize="12" isBold="false" isItalic="true" isUnderline="false" isStrikeThrough="false"/>
<style name="Sans_Small" fontName="DejaVu Sans" fontSize="8" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
<style name="ListRow" mode="Opaque" backcolor="#FBF1DA">
<conditionalStyle>
<conditionExpression><![CDATA[$V{REPORT_COUNT} %2 == 0]]></conditionExpression>
<style backcolor="#E9F4B2"/>
</conditionalStyle>
</style>
<subDataset name="Addresses" uuid="1a45bd64-6c6a-4b66-a676-db452e27f7a6">
<parameter name="City" class="java.lang.String"/>
<queryString>
<![CDATA[SELECT * FROM Address WHERE City = $P{City}]]>
</queryString>
<field name="Id" class="java.lang.Integer"/>
<field name="FirstName" class="java.lang.String"/>
<field name="LastName" class="java.lang.String"/>
<field name="Street" class="java.lang.String"/>
</subDataset>
<queryString>
<![CDATA[SELECT City FROM Address GROUP BY City ORDER BY City]]>
</queryString>
<field name="City" class="java.lang.String"/>
<title>
<band height="40">
<line>
<reportElement x="0" y="0" width="515" height="1" uuid="9275bf56-e377-46d2-937b-9f338a41eb06"/>
</line>
<staticText>
<reportElement style="Sans_Normal" x="0" y="10" width="515" height="30" uuid="26fc2f4f-de0f-411a-b386-e67caf96f441"/>
<textElement textAlignment="Center">
<font size="22"/>
</textElement>
<text><![CDATA[Addresses Report]]></text>
</staticText>
</band>
</title>
<pageHeader>
<band height="21">
<staticText>
<reportElement style="Sans_Bold" mode="Opaque" x="0" y="5" width="515" height="15" forecolor="#FFFFFF" backcolor="#333333" uuid="019469d0-ec4b-4e96-806f-33557f89168d"/>
<text><![CDATA[Addresses List]]></text>
</staticText>
</band>
</pageHeader>
<detail>
<band height="50">
<textField>
<reportElement style="Sans_Bold" x="5" y="5" width="100" height="15" isPrintWhenDetailOverflows="true" uuid="ef0654b5-f925-42ed-a611-bc5b3db61c43"/>
<textFieldExpression><![CDATA[$F{City}]]></textFieldExpression>
</textField>
<staticText>
<reportElement style="Sans_Bold" isPrintRepeatedValues="false" x="110" y="5" width="100" height="15" isPrintWhenDetailOverflows="true" uuid="5f533e26-72bd-4d78-a369-392b29b4d83f"/>
<text><![CDATA[(continued)]]></text>
</staticText>
<componentElement>
<reportElement x="0" y="25" width="250" height="20" uuid="a6cc346e-d517-431e-8860-d81cc4e1145f">
<property name="net.sf.jasperreports.components.list.rows.to.fill" value="10"/>
</reportElement>

<c:list xmlns:c="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical">
<datasetRun subDataset="Addresses" uuid="b8180534-701e-4f9a-ad5f-785d1a5fb74b">
<datasetParameter name="City">
<datasetParameterExpression><![CDATA[$F{City}]]></datasetParameterExpression>
</datasetParameter>
</datasetRun>
<c:listContents height="14">
<frame>
<reportElement style="ListRow" x="0" y="0" width="250" height="14" uuid="28b3ebcb-1bd3-422d-9468-54216206315d"/>
<textField>
<reportElement style="Sans_Small" x="0" y="2" width="15" height="10" uuid="2fba17f5-4547-4f51-a12f-815c7f0589ca"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$F{Id}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement style="Sans_Small" positionType="Float" x="20" y="2" width="110" height="10" uuid="2cf85417-758d-4c99-b552-64eca8a5dfef"/>
<textFieldExpression><![CDATA[$F{FirstName} + " " + $F{LastName}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true">
<reportElement style="Sans_Small" positionType="Float" x="135" y="2" width="105" height="10" uuid="d1e4232f-52d4-40ee-9e9f-2e65682d9cd4"/>
<textFieldExpression><![CDATA[$F{Street}]]></textFieldExpression>
</textField>
</frame>
</c:listContents>
</c:list>
</componentElement>
</band>
</detail>
<pageFooter>
<band height="40">
<line>
<reportElement x="0" y="10" width="515" height="1" uuid="c1c0630c-2045-4090-8e5c-423f598393d0"/>
</line>
<textField>
<reportElement x="200" y="20" width="80" height="15" uuid="3d3faa0b-0121-427a-9d57-6250e8d3c866"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA["Page " + String.valueOf($V{PAGE_NUMBER}) + " of"]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement x="280" y="20" width="75" height="15" uuid="6d8c8882-f6f4-4691-9b60-9768c961c615"/>
<textFieldExpression><![CDATA[" " + String.valueOf($V{PAGE_NUMBER})]]></textFieldExpression>
</textField>
</band>
</pageFooter>
</jasperReport>
272 changes: 272 additions & 0 deletions jasperreports/demo/samples/table/reports/TableReportRowsToFill.jrxml
Original file line number Diff line number Diff line change
@@ -0,0 +1,272 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.6.0.final using JasperReports Library version 6.6.0 -->
<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="TableReportRowsToFill" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="30" bottomMargin="30" isFloatColumnFooter="true" uuid="c927e671-66f3-40f2-a189-49d30d607fe5">
<property name="net.sf.jasperreports.export.pdf.tagged" value="true"/>
<property name="net.sf.jasperreports.export.pdf.tag.language" value="EN-US"/>
<property name="net.sf.jasperreports.export.pdf.metadata.title" value="Tabular Report"/>
<property name="net.sf.jasperreports.export.pdf.display.metadata.title" value="true"/>
<style name="Sans_Normal" isDefault="true" fontName="DejaVu Sans" fontSize="10" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false"/>
<style name="Table">
<box>
<pen lineWidth="1.0" lineColor="#FF0000"/>
</box>
</style>
<style name="TableHeader" mode="Opaque" backcolor="#808080"/>
<style name="TableFooter" mode="Opaque" backcolor="#C0C0C0"/>
<subDataset name="TableData" uuid="c97671fc-0b4b-478a-828d-ced52c9cb393">
<variable name="Column1" class="java.lang.String">
<variableExpression><![CDATA["multi\nline text"]]></variableExpression>
</variable>
<variable name="Column2" class="java.lang.String">
<variableExpression><![CDATA["text two"]]></variableExpression>
</variable>
<variable name="Column3" class="java.lang.String">
<variableExpression><![CDATA["text three"]]></variableExpression>
</variable>
<variable name="Column4" class="java.lang.String">
<variableExpression><![CDATA["text four"]]></variableExpression>
</variable>
<variable name="Column5" class="java.lang.String">
<variableExpression><![CDATA["12345"]]></variableExpression>
</variable>
</subDataset>
<parameter name="TableDataSource" class="net.sf.jasperreports.engine.JRDataSource"/>
<title>
<band height="150">
<image scaleImage="Clip">
<reportElement x="0" y="5" width="165" height="40" uuid="19c3447c-3185-4fdc-b4b5-1d406d0edfac"/>
<imageExpression><![CDATA["jasperreports.png"]]></imageExpression>
<hyperlinkTooltipExpression><![CDATA["The JasperReports Logo"]]></hyperlinkTooltipExpression>
</image>
<staticText>
<reportElement x="180" y="5" width="375" height="40" uuid="ce2a6b5f-8284-4bd5-82ad-8e8515d2afb6">
<property name="net.sf.jasperreports.export.pdf.tag.h1" value="full"/>
</reportElement>
<textElement textAlignment="Right">
<font size="22"/>
</textElement>
<text><![CDATA[Table Report]]></text>
</staticText>
<componentElement>
<reportElement style="Table" x="0" y="50" width="555" height="100" uuid="c475c968-5a05-4331-8147-5fc24a48070b">
<property name="net.sf.jasperreports.components.table.rows.to.fill" value="30"/>
</reportElement>
<c:table xmlns:c="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="TableData" uuid="6770b532-f93b-49b2-a105-2ae35d01ec87">
<dataSourceExpression><![CDATA[$P{TableDataSource}]]></dataSourceExpression>
</datasetRun>
<c:column width="100" uuid="ceaf6eb4-f1e9-4aa8-aca6-3e53b67c1615">
<c:columnHeader style="TableHeader" height="30" rowSpan="2">
<box leftPadding="10">
<pen lineColor="#000000"/>
<bottomPen lineWidth="0.5"/>
</box>
<staticText>
<reportElement x="0" y="0" width="90" height="30" uuid="2866e22e-bec7-41a4-98fd-55ad697b0a2e"/>
<textElement verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Header 1]]></text>
</staticText>
</c:columnHeader>
<c:columnFooter style="TableFooter" height="15">
<box leftPadding="10">
<pen lineColor="#000000"/>
</box>
<staticText>
<reportElement x="0" y="0" width="90" height="15" uuid="54493ad7-b6d2-4f58-94a5-7428d5cfef7b"/>
<textElement verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Total 1]]></text>
</staticText>
</c:columnFooter>
<c:detailCell height="15">
<box leftPadding="10">
<bottomPen lineWidth="0.5"/>
</box>
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="90" height="15" uuid="c6a3b183-a488-4535-9187-6c4250a443b6"/>
<textFieldExpression><![CDATA[$V{Column1}]]></textFieldExpression>
</textField>
</c:detailCell>
</c:column>
<c:column width="100" uuid="d1059c8a-83e2-46b7-bd4a-4920e4661363">
<c:columnHeader style="TableHeader" height="30" rowSpan="2">
<box leftPadding="10">
<pen lineColor="#000000"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
</box>
<staticText>
<reportElement x="0" y="0" width="90" height="30" uuid="10955f42-4b3b-4c06-b277-bc06c8af4529"/>
<textElement verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Header 2]]></text>
</staticText>
</c:columnHeader>
<c:columnFooter style="TableFooter" height="15">
<box leftPadding="10">
<pen lineColor="#000000"/>
<leftPen lineWidth="0.5"/>
</box>
<staticText>
<reportElement x="0" y="0" width="90" height="15" uuid="6da45801-60da-413d-baf4-c13338db0d80"/>
<textElement verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Total 2]]></text>
</staticText>
</c:columnFooter>
<c:detailCell height="15">
<box leftPadding="10">
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
</box>
<textField>
<reportElement x="0" y="0" width="90" height="15" uuid="ff6cedd6-b2c5-4546-ae1b-6d57423f1f92"/>
<textFieldExpression><![CDATA[$V{Column2}]]></textFieldExpression>
</textField>
</c:detailCell>
</c:column>
<c:column width="100" uuid="c781c258-fc9e-4a2d-82bd-01e2f40a4658">
<c:columnHeader style="TableHeader" height="30" rowSpan="2">
<box leftPadding="10">
<pen lineColor="#000000"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
</box>
<staticText>
<reportElement x="0" y="0" width="90" height="30" uuid="7540e3b2-5d37-4fe4-91a8-2547940ba5f7"/>
<textElement verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Header 3]]></text>
</staticText>
</c:columnHeader>
<c:columnFooter style="TableFooter" height="15">
<box leftPadding="10">
<pen lineColor="#000000"/>
<leftPen lineWidth="0.5"/>
</box>
<staticText>
<reportElement x="0" y="0" width="90" height="15" uuid="64482f3d-8d8b-4eed-b71c-142a596219e4"/>
<textElement verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Total 3]]></text>
</staticText>
</c:columnFooter>
<c:detailCell height="15">
<box leftPadding="10">
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
</box>
<textField>
<reportElement x="0" y="0" width="90" height="15" uuid="329d33c4-e976-4aa2-8022-40e957727eb7"/>
<textFieldExpression><![CDATA[$V{Column3}]]></textFieldExpression>
</textField>
</c:detailCell>
</c:column>
<c:columnGroup width="255" uuid="3098567e-0813-4e4a-9aad-58bae2a5b2ab">
<c:columnHeader style="TableHeader" height="15">
<box>
<pen lineWidth="0.5" lineColor="#000000"/>
</box>
<staticText>
<reportElement x="0" y="0" width="255" height="15" uuid="9b8eb5e6-3655-473a-b2d1-bce80f90ce8f"/>
<textElement textAlignment="Center">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Header 4]]></text>
</staticText>
</c:columnHeader>
<c:column width="155" uuid="e3df35d7-6ce7-4941-a1f0-860fb62afd53">
<c:columnHeader style="TableHeader" height="15">
<box leftPadding="10">
<pen lineColor="#000000"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
</box>
<staticText>
<reportElement x="0" y="0" width="145" height="15" uuid="d0904ae1-535f-4d94-bfe4-881544398d85"/>
<textElement>
<font isBold="true"/>
</textElement>
<text><![CDATA[Header 4.1]]></text>
</staticText>
</c:columnHeader>
<c:columnFooter style="TableFooter" height="15">
<box leftPadding="10">
<pen lineColor="#000000"/>
<leftPen lineWidth="0.5"/>
</box>
<staticText>
<reportElement x="0" y="0" width="145" height="15" uuid="1239625e-5331-40b5-b7c6-80e58fe4859c"/>
<textElement>
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Total 4.1]]></text>
</staticText>
</c:columnFooter>
<c:detailCell height="15">
<box leftPadding="10">
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
</box>
<textField>
<reportElement x="0" y="0" width="145" height="15" uuid="a777c29e-db77-4564-a35a-64b990469e57"/>
<textFieldExpression><![CDATA[$V{Column4}]]></textFieldExpression>
</textField>
</c:detailCell>
</c:column>
<c:column width="100" uuid="898732fe-58d7-4115-8bf7-fbe53da49eb1">
<c:columnHeader style="TableHeader" height="15">
<box rightPadding="10">
<pen lineColor="#000000"/>
<topPen lineWidth="0.5"/>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
</box>
<staticText>
<reportElement x="0" y="0" width="90" height="15" uuid="e5247217-993a-44c8-8fc0-d8de72cf93b2"/>
<textElement textAlignment="Right">
<font isBold="true"/>
</textElement>
<text><![CDATA[Header 4.2]]></text>
</staticText>
</c:columnHeader>
<c:columnFooter style="TableFooter" height="15">
<box rightPadding="10">
<pen lineColor="#000000"/>
<leftPen lineWidth="0.5"/>
</box>
<staticText>
<reportElement x="0" y="0" width="90" height="15" uuid="a1ab288e-ae4b-4f12-83a5-e30486bb30d5"/>
<textElement textAlignment="Right">
<font size="12" isBold="true"/>
</textElement>
<text><![CDATA[Total 4.2]]></text>
</staticText>
</c:columnFooter>
<c:detailCell height="15">
<box>
<leftPen lineWidth="0.5"/>
<bottomPen lineWidth="0.5"/>
</box>
<textField>
<reportElement x="0" y="0" width="100" height="15" uuid="db6d906d-9dd3-463c-a8d3-5aae4b6a944f"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA[$V{Column5}]]></textFieldExpression>
</textField>
</c:detailCell>
</c:column>
</c:columnGroup>
</c:table>
</componentElement>
</band>
</title>
</jasperReport>

Loading