相关疑难解决方法(0)

JRBeanCollectionDataSource:如何显示来自JavaBean的java.util.List中的数据?

我的JavaBean包含java.util.List.

Userinfo {
    private String username;
    private String password;
    List<Address> listAddress;
}
Run Code Online (Sandbox Code Playgroud)

如何在Detail band中显示此List的数据?

java jasper-reports

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

在jaspersoft studio中使用多个数据源

根据向Jaspersoft Studio添加自定义数据源,能够将java bean中的自定义数据源添加到报表之后,我将使用jasper进入报表的第二点.

我有一个主报告,它使用数据库作为其数据源.然后我将一个bean.xml数据源添加到报表中,并将一个表添加到主报表中,该报表使用此bean.xml数据源来获取java bean.

我的目标是从主报表中获取字段值并操纵其值,然后用这些值填充bean,最后用bean填充表.

为此,我编写了3个类,我在表数据集中用作Scriptlet:

这是我需要做的事情的说明: 在此输入图像描述

问题出在FillTable类中,当我说我String kNFormelGG = (String) this.getParameterValue("gg");创建的bean.xml与测试连接失败时java.lang.reflect.InvocationTargetException

Caused by: java.lang.NullPointerException
at net.sf.jasperreports.engine.JRAbstractScriptlet.getParameterValue(JRAbstractScriptlet.java:95)
at net.sf.jasperreports.engine.JRAbstractScriptlet.getParameterValue(JRAbstractScriptlet.java:86)
at org.iqtig.reporting.dataSource.bean.dataSourceXML.FillTable.fillTable(FillTable.java:45)
at org.iqtig.reporting.dataSource.bean.dataSourceXML.JRDataSourceFactory.createCollection(JRDataSourceFactory.java:27)
... 34 more
Run Code Online (Sandbox Code Playgroud)

如果我分配一个修复值,如String kNFormelGG ="Test me"bean连接遇到没有错误,并在将bean.xml指定为Dataset1中的默认数据适配器的值后,它将使用静态值填充表.如何从主报表数据源动态获取参数或值中的数据并在bean中使用它?我有这样的假设:在从我的适配器调用静态工厂类时,字段仍然是空的.也许我错了,但我没有找到任何其他声明来解决这个问题.

BeanFactory类

import java.util.Collection;
import net.sf.jasperreports.engine.JRDefaultScriptlet;
import net.sf.jasperreports.engine.JRScriptletException;

/**
 * Factory for TableCellsBean Klasse
 *
 * @author iman.gharib
 */

public class JRDataSourceFactory extends JRDefaultScriptlet {

/**
 * @return collection der TableCellsBean Objekten
 * @throws JRScriptletException
 */
public …
Run Code Online (Sandbox Code Playgroud)

java jasper-reports jaspersoft-studio

17
推荐指数
1
解决办法
3055
查看次数

如何获得复杂JavaBean的价值

我有一个.jrxml文件,我想从代码中传递一些参数.我有一个Orde具有像场R舱double price,int quantityProduct product.情况很简单,当我需要通过价格或数量时,我只是这样做:

<textFieldExpression class = "java.lang.Integer">
   <![CDATA[$F{quantity}]]>
</textFieldExpression>
Run Code Online (Sandbox Code Playgroud)

当我试图通过时出现问题product.getName().我尝试过类似的东西:

<textFieldExpression class = "java.lang.String">
   <![CDATA[$F{product}.getName()]]>
</textFieldExpression>
Run Code Online (Sandbox Code Playgroud)

还有很多其他人,但我一直在收到错误: net.sf.jasperreports.engine.design.JRValidationException: Report design not valid : 1. Field not found : product

你知道如何解决这个问题吗?

java jasper-reports javabeans

5
推荐指数
1
解决办法
150
查看次数