有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在交叉表jasperreport中拆分行

我正在与jasper report合作,我有一份我想要生成的报告

my report

我用java创建了一个类,其中列上显示一个字段,行上显示atelier,交叉表中用于计数的numero

public class ChampEtatMaintenanceParNatureIntervention {

    private String natureIntervention;
    private String atelier; 
    private String numero;


}

我想展示的是每一排工作室的车辆类型列表(例如:lourds、legers等)


共 (1) 个答案

  1. # 1 楼答案

    在每个记录上生成具有行和列组的交叉表时,您需要所有信息

    在你的报告中,我看到了

    • 2行组(工作室和车载型)
    • 1列组(电机类型)
    • 交叉表列的值

    这建议在java对象(作为数据源传递)上使用以下getter

    public class MyDatasourceClass {    
        public String getAtelier(){.. return ...};
        public String getVehiculeType(){.. return ...};
        public String getMotorType(){.. return ...};
        public String getValue(){.. return ...}; //this maybe is another class
    }
    

    您的交叉选项卡组将

    <rowGroup name="atelier" width="150">
        <bucket class="java.lang.String">
            <bucketExpression><![CDATA[$F{atelier}]]></bucketExpression>
        </bucket>
        ... header value....
    </rowGroup>
    
    <rowGroup name="vehiculeType" width="150">
        <bucket class="java.lang.String">
            <bucketExpression><![CDATA[$F{vehiculeType}]]></bucketExpression>
        </bucket>
        ... header value....
    </rowGroup>
    
    <columnGroup name="motorType" width="150">
        <bucket class="java.lang.String">
            <bucketExpression><![CDATA[$F{motorType}]]></bucketExpression>
        </bucket>
        ... header value....
    </columnGroup>