ireport5.6+jasperreport6.3開發(三)--以javabean為基准的報表開發(javabean)


這里只有ireport的開發沒有web側的程序。

ireport的數據源可以說是多種多樣,大致可以通過文件 數據庫 bean類這三種方式,這里只介紹bean類

(數據庫比較簡單可參考其他的網站,文件沒用過不評論(其實是不會))

首先需要建立bean類 下面是一個父bean有4個屬性,child是子列表 順帶一提這里使用list 或者使用 ReportChild[]數組對報表開發時的選擇有一定影響

public class ReportData implements Serializable{

    private String id;
    
    private String name;
    
    private String className;
    
    private List<ReportChild> child;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public List<ReportChild> getChild() {
        return child;
    }

    public void setChild(List<ReportChild> child) {
        this.child = child;
    }
}

 子節點元素(不要在意屬性英文的含義 很爛)

public class ReportChild implements Serializable{

    public String courseName;
    
    public int degree;

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public int getDegree() {
        return degree;
    }

    public void setDegree(int degree) {
        this.degree = degree;
    }
}

最后建立數據工廠

public class ReportDataSourceFactory {
    
    private static ReportData[] data= null;
    
    public static ReportData[] getBeanArray()
    {
        data = new ReportData[2];
        
        data[0] = new ReportData();
        data[0].setId("001");
        data[0].setName("陳");
        data[0].setClassName("一班");
        data[0].setChild(Arrays.asList(ReportChildSourceFactory.getBeanArray()));
        
        data[1] = new ReportData();
        data[1].setId("002");
        data[1].setName("拉拉");
        data[1].setClassName("二班");
        data[1].setChild(Arrays.asList(ReportChildSourceFactory.getBeanArray()));
        
        return data;
    }
}

public class ReportChildSourceFactory {
    
    private static ReportChild[] data= null;
    
    public static ReportChild[] getBeanArray()
    {
        data = new ReportChild[2];
        
        data[0] = new ReportChild();
        data[0].degree = 30;
        data[0].courseName = "合格";
        
        data[1] = new ReportChild();
        data[1].degree = 70;
        data[1].courseName = "不合格";
        return data;
    }
}

 然后請編譯。這樣javabean的准備就完成了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM