小编Dhr*_*ker的帖子

无法在jasper报告中使用子报告创建表

我在Jasper报告中使用报告书,在那里,我必须创建一个包含表的内容报告(与子报告相同).我正在使用JRBeanCollectionDataSource.

当我单独编译并运行子报表时,它完美运行.但是当我运行整个报告书时,它甚至不会打印子报告,其他子报告将按预期打印.

我确信,我错过了一些小设置.因为在报告书中,我使用图表,交叉表他们工作正常.但唯一的问题是该表.

这是我的子报告jrxml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.3.0.final using JasperReports Library version 6.3.0  -->
<!-- 2016-08-02T13:49:19 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="sub_filter_table" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="5ec68712-81e7-4231-85ad-a535169f9480">
    <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
    <property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
    <style name="Table_TH" mode="Opaque" backcolor="#F0F8FF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
            <topPen lineWidth="0.5" lineColor="#000000"/>
            <leftPen lineWidth="0.5" lineColor="#000000"/>
            <bottomPen lineWidth="0.5" lineColor="#000000"/>
            <rightPen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <style name="Table_CH" mode="Opaque" backcolor="#BFE1FF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
            <topPen lineWidth="0.5" lineColor="#000000"/>
            <leftPen lineWidth="0.5" …
Run Code Online (Sandbox Code Playgroud)

jasper-reports

6
推荐指数
1
解决办法
571
查看次数

如何使用Jasperreports中的JRBeanCollectionDatasource创建相同类型但具有不同数据的多个图表

我必须使用相同的图表报告模板创建具有不同数据集的多个XY线图,我还必须使用JRBeanCollectionDatasource.

要求:

1)应该使用JRBeanCollectionDatasource来完成.

2)必须使用相同的图表报告模板来创建多个图表.

3)图表的数量没有固定(这里我有问题在java中给出报告参数的名称).因为在ReportParametersMap中,它们只能具有唯一的键名.

Java的:

Coordinates.java

private Number series;
private Number xCoordinate;
private Number yCoordinate;
//Getters & Setters
Run Code Online (Sandbox Code Playgroud)

GenerateReport.java

我正在使用报告手册,报告手册的每个报告模板都被视为子报告.所以我传递XYChartDataSource(java.util.List)到主报告书,我将使用子报表将此参数映射 new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{XYChartDataSource})为数据源表达式.

在Subreport中,我XYChartDataSource在MainDataset中创建了一个参数(java.util.List)并创建了字段(series,xCoordinate,yCoordinate)(在图表中使用)

List<List<Coordinates>> allchartData = new ArrayList<>();
List<Coordinates> chartData = new ArrayList<>();

chartData.add(new Coordinates(2.08, xCoordinate, yCoordinate));
chartData.add(new Coordinates(2.08, xCoordinate, yCoordinate));
chartData.add(new Coordinates(2.08, xCoordinate, yCoordinate));
allchartData.add(chartData);
.
.
.
chartData.add(new Coordinates(2.12, xCoordinate, yCoordinate));
chartData.add(new Coordinates(2.12, xCoordinate, yCoordinate));
chartData.add(new Coordinates(2.12, xCoordinate, yCoordinate));
allchartData.add(chartData);
.
.
.


for (int i = 0; i < baselineChartData.size(); i++) …
Run Code Online (Sandbox Code Playgroud)

jasper-reports

6
推荐指数
1
解决办法
1070
查看次数

标签 统计

jasper-reports ×2