davidhc
Janeiro 25, 2007, 4:12pm
#1
Opa
To criando um relatório que cada divisão, pode ter vários grupos…acredito que para listar os grupos, precise ser um subrelatório, correto??
Só que estou com dúvida em como montar o subrelatório no jasper e nas classes, alguém pode me dar uma luz?
Olá.
Você, alternativamente, pode criar subrelatórios, no entanto,
penso em subrelatórios como algo mais modular.
Para fazer agrupamento, você precisa usar a tag .
Você vai definir um grupo, uma expressão para quando este agrupamento deve
aparecer e alternar, isto é, algum valor do campo retornado do banco
para o campo “campoQueFazAgrupamento”.
Toda vez que este campo alterar, o agrupamento será exibido.
É necessário, no entanto, definir um cabeçalho e rodapé para seu grupo.
<group name="grupo1" minHeightToStartNewPage="60">
<groupExpression>$F{campoQueFazAgrupamento}</groupExpression>
−
<groupHeader>
−
<band height="20">
−
<textField evaluationTime="Group" evaluationGroup="CityGroup" bookmarkLevel="1">
<reportElement mode="Opaque" x="0" y="5" width="515" height="15" backcolor="#c0c0c0" style="Arial_Bold"/>
<box leftPadding="10" bottomBorder="1Point"/>
−
<textFieldExpression class="java.lang.String">
" " + String.valueOf($V{CityNumber}) + ". " + String.valueOf($F{the_city})
</textFieldExpression>
<anchorNameExpression>String.valueOf($F{the_city})</anchorNameExpression>
</textField>
</band>
</groupHeader>
−
<groupFooter>
−
<band height="20">
−
<staticText>
<reportElement x="400" y="1" width="60" height="15" style="Arial_Bold"/>
<textElement textAlignment="Right"/>
<text>Count :</text>
</staticText>
−
<textField>
<reportElement x="460" y="1" width="30" height="15" style="Arial_Bold"/>
<textElement textAlignment="Right"/>
<textFieldExpression class="java.lang.Integer">$V{CityGroup_COUNT}</textFieldExpression>
</textField>
</band>
</groupFooter>
</group>
Qualquer coisa visite o site do JasperReports que possui bons exemplos.
Att.