目前,我正在像这样的碧玉报告中显示表格
<div class="form-group user-multiselect-dropdown">
<label for="address" class="regular-15-25">Mina valda adresser</label>
<multiselect-dropdown
options.bind="selectedAddresses"
noun-singular="adress"
noun-plural="adresser">
</multiselect-dropdown>
</div>
但是现在我要做成这样的桌子
Col1 | Col2 | Col3 | Col4
------------------------------------
Row1C1 | Row1C2 | Row1C3 | Row1C4
Row2C1 | Row2C2 | Row2C3 | Row2C4
Row3C1 | Row3C2 | Row3C3 | Row3C4
Row4C1 | Row4C2 | Row4C3 | Row4C4
有可能吗? 如果是,那我该如何在表中添加静态行?
答案 0 :(得分:2)
您可以使用数据组来做到这一点。这是一个实现该目标的示例:
p #{foo.replace...}
它将使用<script>...</script>
字段对行进行分组,并且您可以在<queryString language="SQL">
<![CDATA[SELECT col1, col2, col3 FROM some_table ORDER BY flag]]>
</queryString>
<field name="col1" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.label" value="col1"/>
<property name="com.jaspersoft.studio.field.tree.path" value="some_table"/>
</field>
<field name="col2" class="java.lang.String">
<property name="com.jaspersoft.studio.field.label" value="col2"/>
<property name="com.jaspersoft.studio.field.tree.path" value="some_table"/>
</field>
<field name="flag" class="java.lang.Bolean">
<property name="com.jaspersoft.studio.field.label" value="flag"/>
<property name="com.jaspersoft.studio.field.tree.path" value="some_table"/>
</field>
<group name="flagGroup">
<groupExpression><![CDATA[$F{flag}]]></groupExpression>
<groupFooter>
<band height="39">
<printWhenExpression><![CDATA[$F{flag}]]></printWhenExpression>
<staticText>
<reportElement x="0" y="10" width="380" height="20" uuid="d4d760c5-0587-4bd7-973a-de1d9b0c8da6"/>
<text><![CDATA[Any static text to separate groups]]></text>
</staticText>
<line>
<reportElement x="0" y="0" width="330" height="1" uuid="b00741f6-3d2c-4cca-a3fe-397aa7fbf906"/>
</line>
<line>
<reportElement x="0" y="30" width="330" height="1" uuid="0f30d1bc-30ef-48e9-b40e-ab4a3e2b1ffc"/>
</line>
</band>
</groupFooter>
</group>
中插入想要的内容,例如flag
,groupFooter
,staticText
等。
以下是预览:
您可以在JasperSoft Wiki上找到有关组的更多信息:https://community.jaspersoft.com/wiki/groups
更新:如果使用line
和rectangle
,则类似。首先,在subDataset
中定义jr:table
:
group
然后在subDataSet
的{{1}}中添加组页脚(或标题)定义:
<subDataset name="Dataset1" uuid="bb794b3a-5505-492a-8b9f-500b274a8334">
<field name="col1" class="java.lang.Integer">
<fieldDescription><![CDATA[col1]]></fieldDescription>
</field>
<field name="col2" class="java.lang.String">
<fieldDescription><![CDATA[col2]]></fieldDescription>
</field>
<field name="col3" class="java.lang.String">
<fieldDescription><![CDATA[col3]]></fieldDescription>
</field>
<field name="flag" class="java.lang.Boolean">
<fieldDescription><![CDATA[flag]]></fieldDescription>
</field>
<group name="flagGroup">
<groupExpression><![CDATA[$F{flag}]]></groupExpression>
</group>
</subDataset>