我正在使用 Jaspersoft Studio 6.3.1.final 来设计一个包含其他元素的表格的报告。
设计如下所示。该表格只有列标题和明细部分。
现在字段垂直打印如下:
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());
答案 0 :(得分:1)
这种要求要么需要在数据检索时实现,要么使用crosstab
组件。
您可以参考链接working with crosstabs in Jasper Reports进行交叉表样本设计。
另请参阅链接Working with Tables and CrossTabs in JasperReports以了解表和交叉表的功能如何不同。
如果要在table
中实现此目的,则必须在数据检索过程中应用pivoting
。