如何在JasperReport的表中水平打印字段值

时间:2016-12-28 04:09:44

标签: jasper-reports

我正在使用 Jaspersoft Studio 6.3.1.final 来设计一个包含其他元素的表格的报告。

设计如下所示。该表格只有列标题明细部分。

enter image description here

现在字段垂直打印如下:

COLUMN_HEADER1  |  COLUMN_HEADER2
col1Val1        |  ...
col1Val2        |  ...
col1Val3        |  ...

但我需要的是像这样水平显示它们:

COLUMN_HEADER1    |   col1Val1   |     col1Val2     |      col1Val3
COLUMN_HEADER2    |   ...        |     ...          |      ...

我搜索了网,但没有运气。

有办法吗?我被困在这里。非常感谢您的帮助!

修改:

这就是我将数据传递给报表的方式(使用现有的Java服务生成JRBeanCollectionDataSource)。

    List<Map<String, Object>> aListOfMap = ...;
    JRDataSource jrDataSource = new JRBeanCollectionDataSource(aListOfMap);
    HashMap<String, Object> parameters = new HashMap<>();
    parameters.put("DataSource", jrDataSource);
    JasperPrint jasperPrint = getObjectPdf("reports/report.jrxml", parameters, new JREmptyDataSource());

1 个答案:

答案 0 :(得分:1)

这种要求要么需要在数据检索时实现,要么使用crosstab组件。

您可以参考链接working with crosstabs in Jasper Reports进行交叉表样本设计。

另请参阅链接Working with Tables and CrossTabs in JasperReports以了解表和交叉表的功能如何不同。

如果要在table中实现此目的,则必须在数据检索过程中应用pivoting