我有一个带有下一个代码的类:

public Class GenericVehicle{

    private long vehicle_id;
    //Other attributes
    //...

    private List<wheels> myWheels

    public List<Wheels> getNyWheels(int vehicle_type_id){
        //My code to return all wheels from all vehicle with this type
        return List<Wheels>;
    }
}


我需要使用iReport从JasperReport调用此方法。我无法执行它,因为我无法通过iReport传递参数。我该怎么做?

目前,我正在使用带有此dataSource表达式的子报表的报表。它为我提供了GenericVehicle的所有车轮(如果是汽车,公共汽车,自行车等,则是独立的):

new JRBeanCollectionDataSource($P{genericVehicle}.getWheels())


但是我需要做类似这样的事情,添加vehicle_type_id参数以仅获取一种特定车辆类型的车轮:

new JRBeanCollectionDataSource($P{genericVehicle}.getWheels($P{vehicle_type_id}))


我无法更改Java代码,因为它是固定的。

提前致谢!

最佳答案

我的错误是可以做到的:

 new JRBeanCollectionDataSource($P{genericVehicle}.getWheels($P{vehicle_type_id}))


非常感谢

07-25 20:33