birt報表教程:[10]網格報表
工具/原料
birt報表
方法/步驟
創建數據集
客戶的信息存在CUSTOMER表中,我們需要輸入如下語句:
select EBANK.CUSTOMERTYPE.TYPENAME,EBANK.CUSTOMER.*
from EBANK.CUSTOMER,EBANK.CUSTOMERTYPE
where EBANK.CUSTOMER.CUSTOMERTYPE = EBANK.CUSTOMERTYPE.TYPEID
對報表進行佈局
1.在本過程中,您在報告頁中插入元素以顯示先前創建的數據集的數據。先插入一個表元素,然後在該表中插入數據元素。
2.選擇選用板“Palette”。選用板顯示所有可佈置在報告中的元素。
3.為了以後的表佈局美觀,我們先從選用板中的“Gird”元素拖拽放入佈局編輯器內(即文件的“Layout”視圖)的報告中,插入時提示您要制定創建的行列數的詳細信息:輸入1列2行,
4.然後,將選用板中的表元素“Table”拖放到佈局編輯器內的報告中。插入表提示您指定要對此表創建的列數和詳細信息行數。指定5列和1個詳細信息行,然後選擇“確定”。具有5列和1個詳細信息行的表將出現在佈局編輯器中。現在,您就可以在該表中插入數據了。
5.選擇數據資源管理器Data Explorer視圖。在Data Explorer視圖中,展開“Data Sets”,然後展開Customers,在查詢中指定的列將出現在Customers下面。
將CUSTOMER_NAME從Data Explorer中拖放到表的詳細信息行“Detail Row”中的第一個單元格內(如下圖)。詳細信息行顯示報告中的主要數據。在完成的報告中,詳細信息行重複顯示數據集中的所有數據行。
6.然後採用同樣的方法將CUSTOMER_ID,TYPENAME,FAX,TEL這四個數據項從Data Explorer中拖放到表的詳細信息行中,完成的報告中,詳細信息行重複顯示數據集中的所有數據行。如下圖:
7.選中報表格左下角的“”(如上圖),在下方的視圖中會顯示本Table的信息:
選擇第二項“binding”,將Data Set的下拉框選為“Customer”,下方的Data Colum Binding中就會顯示我們數據集中的數據項,通過此步我們將本報表與數據集綁定起來,否則將不能顯示(一般將數據集中的數據項拖拽如Table中後,會自動將次數據集的數據項與本報表綁定,我們可以不用進行這步操作。但我們必須得清楚這個操作)。
完成後,表格的基本設置就算做完了。
同為比較常用的報表工具,FineReport對網格報表的解決方案和實現方法與BIRT有所不同,具體實現思路和步驟如下,以分組網格報表為例,供ireport使用者借鑑:
1. 描述
數據庫表數據是按照時間先後錄入的,查詢的時候希望按照時間先後,某個字段連續相同的話就合併起來顯示,這樣的報表可以通過相鄰連續分組來實現。
2. 示例
2.1 打開報表
打開報表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\GroupReport\Group.cpt。
預覽數據集ds1,可看到如下數據:
2.2 相鄰連續分組設置
將地區字段的數據設置修改為分組>相鄰連續:
2.3 保存並預覽
保存模板,設計器中點擊分頁預覽,便可以看到效果,模板效果在線查看請點擊CusGroup_1.cpt
已完成的模板,可參見%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\GroupReport\CusGroup_1.cpt。
3. 普通分組與相鄰連續分組
直接拖拽數據列到單元格,默認為普通分組,即將所有相同的項都合併起來顯示;
相鄰連續分組只是將連續相同的項合併起來。
相鄰連續分組往往與SQL中排序結合使用來實現普通分組,但比直接使用普通分組性能更好,具體可查看巧用相鄰連續分組文檔。