2015-04-20 25 views
-1

我有一張jasper報告,裏面有詳細的表格,我有一個有2個字段和geters和seters的類。如何用java bean填充表格?如何填寫碧玉表中的表格?

我的代碼

public class Table { 

    private String gigo; 
    private String bibe; 

    public Table() { 
    } 

    public Table(String gigo, String bibe) { 
     this.gigo = gigo; 
     this.bibe = bibe; 
    } 

    public String getBibe() { 
     return bibe; 
    } 

    public String getGigo() { 
     return gigo; 
    } 

    public void setBibe(String bibe) { 
     this.bibe = bibe; 
    } 

    public void setGigo(String gigo) { 
     this.gigo = gigo; 
    } 



} 

的tablemaker

public class TableMaker { 

     public ArrayList<Table> setTableBeanList() { 
     ArrayList<Table> dataBeanList = new ArrayList<>(); 

     dataBeanList.add(produce("test1", "test2")); 
       return dataBeanList; 
    } 

    private Table produce(String name, String occupation) { 
     Table TableBean = new Table(); 

       TableBean.setBibe(name); 
       TableBean.setGigo(occupation); 

     return TableBean; 
    } 

} 

報告:

InputStream inputStream=Reporter.class.getClassLoader().getResourceAsStream("report2.jasper");  
TableMaker test = new TableMaker(); 
ArrayList<Table> tablelist = test.setTableBeanList();   
JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(tablelist); 
Map parameters = new HashMap(); 
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(inputStream); 
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters,beanColDataSource); 
JasperExportManager.exportReportToPdfFile(jasperPrint, "D://timer2.pdf"); 

在該表中,我得到空,爲什麼如何正確填寫該表?

預先感謝您。

+0

嘗試在dataBeanList中生成兩個元素。這種情況下有多少條記錄顯示報告? – sanBez

+0

我添加了兩個dataBeanList.add(produce(「test1」,「test2」));並得到兩個表空 –

+0

我不明白。兩張表或兩個記錄?顯示jrxml。哪個版本的碧玉? – sanBez

回答

-1

一旦你的Java Bean工作,你需要在Jasper Report中手動添加你的變量。完成後,只需將這些Java Bean getter作爲變量與其他數據源變量一起使用,只需將它們拖放到OUTLINE WINDOW中的報表上即可。

否則,您也可以使用Table嚮導創建自定義表格,並且所有這些變量都可以訪問。

+0

作者不問變量。他使用字段,這些值來自獲得者 – sanBez

+0

是的,所以對於這些字段,他可以手動創建參數,而不是可以在Jasper報告中使用的變量。 –

0

您是否使用jasper表格組件?如果那麼,數據列表必須作爲參數傳遞。如果你使用碧玉表組件,我可以給你示例代碼。