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

标签 jasper-reports crosstab

我的 Crosstab 组件有两个问题。

  1. 在我的交叉表中,我在选项卡的开头有总行,我想在每一列中显示我的字段的值。所以我创建了字段并将其放入总单元格中。编译时出现错误“未找到字段”,但当我将此字段放入详细信息区域时,它显示正确。
  2. 其他情况。我可以将多个总计行添加到我的交叉选项卡并在其中显示我的字段中的值吗?

最佳答案

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

示例

<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>

关于您的第二个问题“我可以在我的交叉表中添加几个合计行吗”?,这有点不清楚,您将得到 totalPosition< 指示的合计行 rowGroup/columnGroup 属性,您可以根据需要添加任意数量的组。

"Start" - totals are to be positioned before the other buckets.

"End" - totals are to be positioned at the end of the other buckets.

"None" - total are not required for this bucket.

OP 评论: 为了解决第二个问题,我刚刚在列标题带中创建了一般行。 – Tomasz Iwaszko

关于jasper-reports - 如何在交叉表总行中显示字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35010474/

相关文章:

clojure - 有没有一种从 Clojure 中使用 JasperReports 的简单方法?

具有两个交叉表和多个列的 SQL 数据透视表

sql - 使用 PostgreSQL 的透视 View

jasper-reports - 使用 Order by 表达式在交叉表排序列/行组中排序

grails - 从Grails开始jasperReport/iReport

java - jasper 报告中的编译错误 - 错误填写打印

java - 调用 setDataPreSorted(true) 后 DynamicReports 交叉表报告列分组中断

ant - 如何将每个jasper文件编译到自己的目录中?

jasper-reports - Jasper 报告删除/隐藏空组

mysql - 如何使用 NULL 创建 MySQL 交叉表