基于表中数据的动态行高,并将其用于所有列

时间:2019-02-07 07:32:07

标签: jasper-reports

基于表中数据的动态行高,并将其用于所有列

我正在使用Jaspersoft ireport Designer 4.7.0。我有一个具有3列的表格,并使用https://community.jaspersoft.com/wiki/dynamically-set-table-row-height-data根据数据动态设置表格行高。这里的要求是,我要使所有表格单元格都与最高的对象具有相同的高度。当前,它仅适用于对象最高的行。PFA为.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="report3" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f32dfce1-c0d4-4f20-b896-653e7497d7ba">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <style name="table">
        <box>
            <pen lineWidth="1.0" lineColor="#000000"/>
        </box>
    </style>
    <style name="table_TH" mode="Opaque" backcolor="#F0F8FF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <style name="table_CH" mode="Opaque" backcolor="#BFE1FF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <style name="table_TD" mode="Opaque" backcolor="#FFFFFF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <subDataset name="tabeDataSet" uuid="46e73a3d-e883-4c74-a062-6984cc6dac58">
        <field name="id" class="java.lang.String"/>
        <field name="city" class="java.lang.String"/>
        <field name="street" class="java.lang.String"/>
    </subDataset>
    <parameter name="tableData" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/>
    <detail>
        <band height="260">
            <componentElement>
                <reportElement uuid="d30c2063-0208-47b7-999d-567dac8c80f6" key="table 1" positionType="Float" stretchType="RelativeToTallestObject" x="72" y="53" width="395" height="93"/>
                <jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" whenNoDataType="AllSectionsNoDetail">
                    <datasetRun subDataset="tabeDataSet" uuid="972de646-f6e5-4a89-bf2e-50a77a7e0172">
                        <dataSourceExpression><![CDATA[$P{tableData}]]></dataSourceExpression>
                    </datasetRun>
                    <jr:column uuid="1c395685-a4d8-46f4-a6a8-5deeb33f758a" width="90">
                        <jr:tableHeader height="30" rowSpan="1">
                            <box leftPadding="1">
                                <pen lineWidth="0.5"/>
                                <topPen lineWidth="0.5"/>
                                <leftPen lineWidth="0.5"/>
                                <bottomPen lineWidth="0.5"/>
                                <rightPen lineWidth="0.5"/>
                            </box>
                            <staticText>
                                <reportElement uuid="f7e661e3-d38d-4e46-aba7-2a54af94a88c" positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="89" height="30"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle">
                                    <font isBold="true"/>
                                </textElement>
                                <text><![CDATA[ID]]></text>
                            </staticText>
                        </jr:tableHeader>
                        <jr:detailCell height="20" rowSpan="1">
                            <box leftPadding="1">
                                <pen lineWidth="0.5"/>
                                <topPen lineWidth="0.5"/>
                                <leftPen lineWidth="0.5"/>
                                <bottomPen lineWidth="0.5"/>
                                <rightPen lineWidth="0.5"/>
                            </box>
                            <textField isStretchWithOverflow="true">
                                <reportElement uuid="55b324c7-ec61-49f0-9565-2f7d5c95e3b5" positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="89" height="20" isPrintInFirstWholeBand="true"/>
                                <textElement verticalAlignment="Middle"/>
                                <textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                    <jr:column uuid="1f4dcc0c-d37b-41c9-94c0-a59de8c07020" width="90">
                        <jr:tableHeader height="30" rowSpan="1">
                            <box>
                                <pen lineWidth="0.5"/>
                                <topPen lineWidth="0.5"/>
                                <leftPen lineWidth="0.5"/>
                                <bottomPen lineWidth="0.5"/>
                                <rightPen lineWidth="0.5"/>
                            </box>
                            <staticText>
                                <reportElement uuid="5a357a85-1647-47fb-8db2-63e63b281af1" positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="90" height="30"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle">
                                    <font isBold="true"/>
                                </textElement>
                                <text><![CDATA[City]]></text>
                            </staticText>
                        </jr:tableHeader>
                        <jr:detailCell height="20" rowSpan="1">
                            <box>
                                <pen lineWidth="0.5"/>
                                <topPen lineWidth="0.5"/>
                                <leftPen lineWidth="0.5"/>
                                <bottomPen lineWidth="0.5"/>
                                <rightPen lineWidth="0.5"/>
                            </box>
                            <textField isStretchWithOverflow="true">
                                <reportElement uuid="aed9b850-e496-4394-b1a7-0ffae688b00b" positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="90" height="20" isPrintInFirstWholeBand="true"/>
                                <textElement verticalAlignment="Middle"/>
                                <textFieldExpression><![CDATA[$F{city}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                    <jr:column uuid="2ea2acdc-b06e-4acf-93cc-726ef96fa1e3" width="90">
                        <jr:tableHeader height="30" rowSpan="1">
                            <box>
                                <pen lineWidth="0.5"/>
                                <topPen lineWidth="0.5"/>
                                <leftPen lineWidth="0.5"/>
                                <bottomPen lineWidth="0.5"/>
                                <rightPen lineWidth="0.5"/>
                            </box>
                            <staticText>
                                <reportElement uuid="303b9cd4-aa31-449d-8a4c-f609e920da1f" positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="90" height="30"/>
                                <textElement textAlignment="Center" verticalAlignment="Middle">
                                    <font isBold="true"/>
                                </textElement>
                                <text><![CDATA[Street]]></text>
                            </staticText>
                        </jr:tableHeader>
                        <jr:detailCell height="20" rowSpan="1">
                            <box>
                                <pen lineWidth="0.5"/>
                                <topPen lineWidth="0.5"/>
                                <leftPen lineWidth="0.5"/>
                                <bottomPen lineWidth="0.5"/>
                                <rightPen lineWidth="0.5"/>
                            </box>
                            <textField isStretchWithOverflow="true">
                                <reportElement uuid="04dcda99-69b7-408c-b0a7-a63a57c50072" positionType="Float" stretchType="RelativeToTallestObject" x="0" y="0" width="90" height="20" isPrintInFirstWholeBand="true"/>
                                <textElement verticalAlignment="Middle"/>
                                <textFieldExpression><![CDATA[$F{street}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                </jr:table>
            </componentElement>
            <staticText>
                <reportElement uuid="e891c43a-4b72-40d7-8846-acaa4a4f045e" x="58" y="12" width="100" height="20"/>
                <textElement textAlignment="Center" verticalAlignment="Middle">
                    <font isBold="true"/>
                </textElement>
                <text><![CDATA[Address]]></text>
            </staticText>
            <staticText>
                <reportElement uuid="5ce33e92-430d-4219-8fe4-3dbaf8b55dfc" x="185" y="193" width="100" height="20"/>
                <textElement/>
                <text><![CDATA[here1]]></text>
            </staticText>
        </band>
    </detail>
</jasperReport>
`

0 个答案:

没有答案