Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在IReport Designer中使用自定义对象列表_Java_Collections_Ireport - Fatal编程技术网

Java 在IReport Designer中使用自定义对象列表

Java 在IReport Designer中使用自定义对象列表,java,collections,ireport,Java,Collections,Ireport,使用自定义对象列表创建报告的正确方法是什么? 我已经尝试了一两天,但都没有效果。 我创建了一个自定义JRDataSource和一个创建此类对象的工厂 以下是数据源的代码: public class ViajeDataSource implements JRDataSource { private int index; private ArrayList<Viaje> viajes; public ViajeDataSource() { this.viajes=new Ar

使用自定义对象列表创建报告的正确方法是什么? 我已经尝试了一两天,但都没有效果。 我创建了一个自定义JRDataSource和一个创建此类对象的工厂

以下是数据源的代码:

public class ViajeDataSource implements JRDataSource
{

private int index;
private ArrayList<Viaje> viajes;

public ViajeDataSource()
{
    this.viajes=new ArrayList<>();
}

@Override
public boolean next() throws JRException 
{
    this.index++;
    return (index<this.viajes.size());
}

@Override
public Object getFieldValue(JRField jrf) throws JRException 
{
    Object value = null;
    Viaje viaje=this.viajes.get(this.index);
    if (jrf.getName().equals("FECHA"))
    {
        return viaje.getFecha();
    }
    switch(jrf.getName())
    {
        case "FECHA":
            value=viaje.getFecha();
            break;
        case "NombrePersona":
            value=viaje.getNombrePersona();
            break;
        case "NombreEmpresa":
            value=viaje.getNombreEmpresa();
            break;
        case "Observacion":
            value=viaje.getObservacion();
            break;
        case "Importe":
            value=viaje.getTarifa();
            break;
        case "Demora":
            value=viaje.getDemora();
            break;
        case "Total":
            value=viaje.getTotal();
            break;
        case "Peaje":
            value=viaje.getPeaje();
            break;
    }
    return value;
}
公共类ViaJetDataSource实现JRDasource
{
私有整数索引;
私人ArrayList viajes;
公共数据源()
{
this.viajes=newArrayList();
}
@凌驾
public boolean next()引发异常
{
这个.index++;

回报(指数这种方法对我有效: 我没有创建自定义数据源,而是创建了自定义dataSourceProvider,并在创建数据源时选择了JRDataSource。 这与IReports standalone实用程序相结合,使我能够使用我收集的样本数据设计报表