当前位置: 首页 > 知识库问答 >
问题:

Jasper报表中Java Beans列表中的pass列表

查飞星
2023-03-14
private int tid;
private String title;
private List<Member> members;
//getter and setter
private int id;
private String name;
//getter and setter
 List<Team> teams = service.getTeams();
 Map parameters = new HashMap();
 JasperPrint jasperPrint = null;
 jasperPrint  = JasperFillManager.fillReport(jasperReport, parameters, new JRBeanCollectionDataSource(teams));

共有1个答案

郝君博
2023-03-14

有两种方法可以实现这一点:

您确实可以通过使用子报表来解决这个问题。为此,您需要添加子报表并将其datasource表达式设置为new JRBeanCollectionDataSource($f{members})。您的成员bean的字段可以作为子报表中的字段使用(例如$f{name})。

您也可以通过使用列表组件来解决这个问题,而不需要子报表。这可以从iReport中的调色板中获得,也可以复制下面的示例。这需要添加到报告的详细信息带中。

<componentElement>
    <reportElement x="0" y="0" width="555" height="20"/>
        <jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
        <datasetRun subDataset="dataset1">
            <dataSourceExpression><![CDATA[new JRBeanCollectionDataSource($F{members})]]></dataSourceExpression>
        </datasetRun>
        <jr:listContents height="20" width="555">
            <textField>
                <reportElement x="0" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression>
            </textField>
        </jr:listContents>
    </jr:list>
</componentElement>
 类似资料:
  • 我想生成jasper报表,用于打印在固定大小的文具上。我创建了html表,并将所有的值放在其中,根据我的要求,现在我想通过Java打印,所以我现在使用了jasper报告,因为我有列,是变化的时间。根据我的要求,我在网上搜索,我得到了动态的jasper是解决方案,但由于方法添加列需要列名和传递变量,这是从setter getter方法,但我的整个列是动态的,那么我如何生成setter getter方

  • 要求:开发10个报告和导航到每个报告时,点击超链接放置在导航菜单上。 当导出到excel时,每个子报表都应该放在单独的excel表中,excel列分段应该与报表列相匹配。完成了90%的工作。 只剩下excel分段问题。

  • Jasper reports正在努力从vip.user中找到字段。当我将prompt作为false使用defaultValueExpression填充数组列表时,它可以工作。

  • 我用的是Jasper reports 6.17,我在Jasper Studio里做了一个列表。 列表中只有两个名为“test1”和“test2”的项目,但只显示了一个,我不知道为什么。生成的PDF仅显示“test2”,为什么缺少“test1”?如果我添加10项,第一行将丢失。 jrxml文件是: java文件是:

  • 我是Jasper报告的新手。我正在使用Jaspersoft iReport Designer 4.5.1。使用以下格式的数据集创建报告(让我称之为Format1): 其中Q1和Q2是一些计算的商。现在Jasper设计师要求系列(不同的颜色)、类别(X轴)和值(Y轴)。由于我的“值”分布在列中,我需要取消数据的旋转以获得这种格式:(格式2) 能够将“Quo Type”作为系列传递,将“日期”传递为类

  • 使用的开发IDE:Jaspersoft Studio 我试图使用下面的表达式将主报表数据源用于表数据集,但没有得到任何数据。 请说明如何将数据源从报表传递到表。我对jasper报告很陌生。样品会很有用。 JRXML: Json数据: 我已经添加了我试图加载的JRXML和Json。当我在数据集中传递dataSourceExpression时,我只得到2行,但在源数据中有3行。请帮我解决这个问题