IREPORT 標籤式報表

最近在想《JasperReport那些事兒》系列的寫作方向的問題,是要先寫Jasper的原理和基礎方面,還是寫怎麼製作報表實例。如果你想我寫一些你感興趣的部分,可以在文章後面加評論告訴我。這周先寫一篇製作報表實例的文章吧。
    最近在blogjava看到一篇總結報表圖例的文章http://www.blogjava.net/report9d/archive/2009/03/04/257848.html。總結的相當不錯,如果你不知道什麼是標籤式報表,可以看看。

1.先上效果圖


2.數據源還是沿用NameList XML數據源,關於怎麼配置數據源可以看這裏
<?xml version="1.0" encoding="utf-8" ?>
<NameList>
    
<Person>
        
<Name>強尼</Name>
        
<Gender></Gender>
        
<Age>56</Age>
    
</Person>
    
<Person>
        
<Name>阿美</Name>
        
<Gender></Gender>
        
<Age>23</Age>
    
</Person>
    
<Person>
        
<Name>李麗</Name>
        
<Gender></Gender>
        
<Age>58</Age>
    
</Person>
    
<Person>
        
<Name>傑森</Name>
        
<Gender></Gender>
        
<Age>32</Age>
    
</Person>
    
<Person>
        
<Name>劉三</Name>
        
<Gender></Gender>
        
<Age>21</Age>
    
</Person>
</NameList>  

3.製作報表的思路
  在製作標籤報表的時候,我們先來理清一下思路。可以發現,其實標籤式報表的每個小標籤內的內容類型都是一樣的,這樣可以認爲報表是由多個標籤組成的。這樣就可以分離出主體報表和子報表的概念,這與Jasperreport裏的subreport(子報表)概念是一樣的。這樣就可以大概抽象出一個標籤式報表的模型了,在主體報表上使用兩個subreport元素指向同一個標籤報表。

  那爲什麼要使用兩個subreport元素?我們先來看我們期待輸出的標籤模型的順序。
  但是在Jasperreport裏,報表的渲染是從上到下的。所以我們期待的順序是先渲染1號標籤,然後渲染2號標籤,這是從左到右的渲染,在Jasperreport裏面是做不到的。但是我們可以採用同時渲染1號和2號標籤,這就需要兩個subreport元素。
4.具體步驟(關於子報表的製作,可以參考我的第一篇文章)
a)建立一個主模板,加入兩個subreport。

b)建立一個子模板(標籤模板)。


c)配置subreport的XPATH。
左邊的subreport的Datasource配置

右邊的subreport的Datasource配置


報表模板下載:http://www.blogjava.net/Files/heis/%E5%9B%9B-%E5%88%B6%E4%BD%9C%E6%A0%87%E7%AD%BE%E5%BC%8F%E6%8A%A5%E8%A1%A8/Chapter4.zip

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章