單表式主子報表特點是用單個報表實現主子表的業務邏輯。一般包含多個數據集,通常由自由格式部分及列表格式部分,且為一對多,父與子的關係,如下圖上方為訂單信息,下方這個訂單的明細:
這樣的主子報表製作比較方便,且可以用於填報,因此稱之為表單式主子報表。
工具/原料
圖表控件:FineReport
電腦
方法/步驟
打開報表
打開報表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\FreeReport\Free.cpt。在該報表基礎上來實現表單式主子表。
新增數據源
新增數據集ds2 ,SQL語句為SELECT * FROM [訂單明細]。
表樣設計
在原報表基礎上,添加子表區域:
綁定數據列
將子表字段拖入對應單元格內,並作相應的設置。
單元格數據集數據列屬性
B9ds2產品ID列表,從上到下擴展,居中,左父格為:C2,其餘默認
C9ds2單價從上到下擴展,居中,其餘默認
D9ds2數量從左到右擴展,居中,其餘默認
E9ds2折扣從左到右擴展,居中,其餘默認
單元格A9輸入公式:=&B9,左父格為B9,給B9單元格擴展出來的數據編號;
單元格F9輸入公式:=C9*D9*(1-E9),表示求產品的金額;
給每個訂單進行合計,A10單元格設置父格為C2,並在F10中輸入公式:=sum(F9)。
建立主子表的關聯
主子表有著一個相同的數據列:訂單ID,可通過過濾將兩個表中的訂單ID關聯起來,雙擊B9增加過濾條件:訂單ID等於'C2':
設置分頁
此時主子表便製作好了,為了使報表可讀性更強,我們設置分頁,使得每頁顯示一個訂單信息。右擊A10單元格,選擇其他屬性>行後分頁。
保存與預覽
保存模板。點擊設計器中的分頁預覽,效果如上。模板效果在線查看請點擊Master.cpt
已完成的模板,可參見%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\MasterReport\Master.cpt
主子報表在線視頻請查看【主子報表】