報表管理系統FineReport如何製作主從填報表?

通過單個報表實現主子表的業務邏輯,上面為訂單信息,數據來自訂單表;下面是該訂單的明細,數據來自於訂單明細表,通過訂單id進行關聯。

修改上方訂單信息及明細數據時,數據將分別回填至對應的數據表中。

下面我們就通過報表管理系統FineReport來進行介紹如何製作主從填報表。

工具/原料

報表管理系統FineReport7.1.1

大小:148.2M 適用平臺:windows/linux

方法/步驟

增加數據集

新建工作簿,增加數據集ds1,SQL語句為:SELECT * FROM [訂單]。

再增加一個數據集ds2,SQL語句為:SELECT * FROM [訂單明細]。

表樣設計

按照下圖所示設置表樣,並將對應的數據列拖入到對應的單元格中:

在D8單元格中填入公式:=round(sum(H12) + B6,2)。

注:公式的意義在於應付金額為數量*進價*(1-折扣)。

在H12單元格中填入公式:=C12 * D12 * (1 - E12)。

給B4,D4,F4以及A12單元格增加數據字典設置。

報表管理系統FineReport如何製作主從填報表

參數設置

點擊模板>報表參數,增加一個參數名為ID的報表參數,默認值為10001。

過濾條件設置

給A3設置過濾條件,過濾為訂單ID等於參數$ID。

行高列寬設置

將A3的行高與H12的列寬隱藏。

單元格編輯屬性設置

下拉框

設置B4,D4,F4,A12為下拉框,其數據字典都選擇數據庫表,選擇對應的實際值與顯示值。

數字

設置B6,B12,C12,D12,E12的控件類型為數字型。

文本型

設置D6和F6的控件類型為文本型。

按鈕

設置F12和G12的控件類型分別為插入行以及刪除行按鈕,其指定單元格都為A12。

報表填報屬性設置

按照下圖所示給報表增加兩個內置SQL。

內置SQL1:

報表管理系統FineReport如何製作主從填報表

內置SQL2

報表管理系統FineReport如何製作主從填報表

效果查看

點擊填報預覽,查詢訂單號為10001的數據,效果如下:

報表管理系統FineReport如何製作主從填報表

修改子表,修改數量與進價,點擊提交,提示成功。刷新瀏覽器,再選擇10001,可以看到數據已經改變,如下圖:

報表管理系統FineReport如何製作主從填報表

相關問題答案