如何在交叉表总行中显示字段值?

时间:2016-01-26 09:22:13

标签: jasper-reports crosstab

我的Crosstab组件有两个问题。

  1. 在我的交叉表中,我在标签的开头有总行,我想在每列中显示我的字段中的值。所以我创建了字段并将其放入总单元格中。编译时我发现错误"字段未找到"但当我把这个字段放入细节带时,它显示正确。
  2. 其他情况。我可以在“交叉”选项卡中添加几个总行,并在“我的字段”中显示值吗?

1 个答案:

答案 0 :(得分:3)

要在交叉表中显示值,您需要创建一个度量

示例

<measure name="myField" class="java.lang.String">
    <measureExpression><![CDATA[$F{myField}]]></measureExpression>
</measure>

注意:度量可以是字段的简单表示(如示例所示),calculation="Nothing"(默认值,如果未指出),请记住设置正确的类(与场)

现在您可以将度量$V{myField}添加到交叉表单元格

<textField>
   <reportElement style="Crosstab Data Text" x="0" y="12" width="50" height="12" uuid="2a004def-c91d-40be-ba2a-fac8763fca7b"/>
   <textElement verticalAlignment="Middle">
      <font size="8"/>
      <paragraph lineSpacing="Single"/>
   </textElement>
    <textFieldExpression><![CDATA[$V{myField}]]></textFieldExpression>
</textField>

关于你的第二个问题“我可以在我的Cross选项卡中添加几个总行”吗?,这有点不清楚,你会得到totalPosition所示的总行数rowGroup / columnGroup上的属性,您可以根据需要添加任意数量的组。

  

“开始” - 总计将位于其他存储区之前。

     

“结束” - 总计将定位在其他存储桶的末尾。

     

“无” - 此存储桶不需要总计。

OP评论: 要解决第二个问题,我刚刚在列标题区创建了常规行。 - Tomasz Iwaszko