如何开发主从报表
主從報(bào)表是一種很常見的報(bào)表需求:報(bào)表數(shù)據(jù)分為上下兩部分,上方為匯總說明信息,下方為明細(xì)列表信息。如何快速制作這類報(bào)表呢?下面我們通過一個(gè)例子來看一下潤(rùn)乾報(bào)表是如何做的:
需求說明:
銷售系統(tǒng)中的客戶訂單表樣式如下:
報(bào)表上半部分顯示訂單基本信息,下半部分顯示訂單明細(xì)信息,每個(gè)訂單呈獨(dú)立的卡片式顯示。
潤(rùn)乾報(bào)表開發(fā)步驟如下:
1、連接數(shù)據(jù)源
使用潤(rùn)乾報(bào)表設(shè)計(jì)器,連接自帶數(shù)據(jù)源 DEMO。
2、設(shè)置數(shù)據(jù)集
新建報(bào)表并設(shè)置數(shù)據(jù)集,由于數(shù)據(jù)來源不同,需要設(shè)置多個(gè)數(shù)據(jù)集。
數(shù)據(jù)集 SQL 如下:
ds1: SELECT * ?FROM 訂單
ds2:?SELECT * ?FROM 訂單明細(xì)
3、編輯報(bào)表表達(dá)式
根據(jù)目標(biāo)報(bào)表樣式,設(shè)置報(bào)表表達(dá)式。
其中: 1)在?B2 單元格輸入表達(dá)式:= ds1.select(訂單 ID,,, 訂單 ID)?
同時(shí)設(shè)置 B2 單元格的左主格為:`0
2)在 D2 單元格輸入表達(dá)式:= ds1. 發(fā)貨日期
設(shè)置顯示格式為:yyyy 年 MM 月 dd 日
F2 單元格進(jìn)行相同設(shè)置
3)在 B4 單元格輸入表達(dá)式:= ds1. 客戶 ID
???F4、B5、F5、D8、E8 單元格進(jìn)行相同設(shè)置
4)在 D5 單元格輸入表達(dá)式:= ds1. 運(yùn)貨費(fèi)
設(shè)置顯示格式為:¥#0.00
5)設(shè)置 A8 單元格的左主格為 B8
6)在 B8 單元格輸入表達(dá)式:= ds2.select@r(產(chǎn)品 ID:1, 訂單 ID==B2,, 產(chǎn)品 ID)
這里是制作主從報(bào)表的關(guān)鍵。設(shè)置 B8 單元格的左主格為 B2 單元格,查詢 ds2 數(shù)據(jù)集中所有訂單 ID 為 B2 的產(chǎn)品列表。
7)在 C8 單元格輸入表達(dá)式:= ds2. 單價(jià)
??設(shè)置顯示格式為:¥#0.00
8)在 F8 單元格輸入表達(dá)式:=C8*E8
設(shè)置顯示格式為:¥#0.00
9)設(shè) A1、A2、A3、A4、A5、A6、A7、A9 單元格的左主格為 B2 單元格。
將這些單元格的左主格設(shè)為 B2 的目的是為了使 B2 單元格擴(kuò)展的時(shí)候其它單元格隨著一起擴(kuò)展,從而實(shí)現(xiàn)單表式主子報(bào)表。
10)設(shè) A9 單元格為行后分頁,實(shí)現(xiàn)打印時(shí)每張定單單獨(dú)打印。并將第 9 行下邊框設(shè)為藍(lán)色,對(duì)不同訂單加以區(qū)分。
至此,我們就實(shí)現(xiàn)了需求效果,完成了一個(gè)典型的主從報(bào)表的制作。
轉(zhuǎn)載于:https://www.cnblogs.com/IBelieve002/p/10918123.html
總結(jié)
- 上一篇: Mybatis generator配置
- 下一篇: 线性表的顺序存储——顺序存储结构的抽象实