真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

1. 問題描述

貴德網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,貴德網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為貴德上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的貴德做網(wǎng)站的公司定做!

FineReport,組織樹報(bào)表中由id與父id來實(shí)現(xiàn)組織樹報(bào)表,若層級數(shù)較多時(shí),對每個(gè)單元格設(shè)置過濾條件和形態(tài)會(huì)比較繁瑣,因此FineReport提供了一種特殊的數(shù)據(jù)集——樹數(shù)據(jù)集,只需要簡單的設(shè)置就能自動(dòng)遞歸出層級,方便的實(shí)現(xiàn)如下圖組織樹報(bào)表:

圖一

 FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

圖二

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

2. FineReport構(gòu)建樹

2.1 新建報(bào)表,添加數(shù)據(jù)集

新建工作薄,添加數(shù)據(jù)集ds1取出原始數(shù)據(jù),SQL語句為SELECT * FROM 公司部門。

2.2 定義樹數(shù)據(jù)集

1)根據(jù)父字段構(gòu)建樹

使用情形:原始表結(jié)構(gòu)中符合ID、parentID結(jié)構(gòu),我們可以通過父ID這個(gè)字段生成樹,添加樹數(shù)據(jù)集,如下圖:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

2)根據(jù)數(shù)據(jù)長度構(gòu)建樹

使用情形:原始表結(jié)構(gòu)中所有ID都在一列中,且沒有父ID字段,但是ID是有規(guī)律的,每組的長度相同,且子級的前N位就是父級編號,添加樹數(shù)據(jù)集,如下圖:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

2.3 預(yù)覽數(shù)據(jù)

預(yù)覽樹數(shù)據(jù)集,可看到已自動(dòng)生成遞歸樹數(shù)據(jù),F(xiàn)R_GEN_0為最高層,依次往下,如下:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

3. 示例一縱向組織樹

按照下圖所示將對應(yīng)的數(shù)據(jù)列拖入到單元格中,并將A2單元格的左父格設(shè)置為A1,A3單元格的左父格設(shè)置為A2:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

3.1 條件屬性

有上面預(yù)覽數(shù)據(jù)可以看到從二層FR_GEN_1開始,就會(huì)有空白數(shù)據(jù),這是因?yàn)閿?shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)有上一級部門本身的部門名稱和部門ID,其上一級部門的部門級數(shù)會(huì)低一級,比如說上述數(shù)據(jù)的第一行為總部,雖然總部下面有子部門,但是數(shù)據(jù)庫中還是要存儲(chǔ)總部這個(gè)部門的部門名稱和部門ID的,總部對應(yīng)的級數(shù)為一級,那么其對應(yīng)的數(shù)據(jù)記錄行里面就只有FR_GEN_0層,下面的FR_GEN_1和FR_GEN_2這兩層就會(huì)沒有數(shù)據(jù),顯示為空白。

在模板制作過程中,從第二層級開始就會(huì)有空白數(shù)據(jù),需要將空白數(shù)據(jù)隱藏掉,選中A2和A3單元格,添加條件屬性,當(dāng)數(shù)據(jù)為空時(shí)隱藏該行,如下圖:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

注:如果組織結(jié)構(gòu)的層級結(jié)構(gòu)不確定,即有的層級有子層,有的層級沒有子層時(shí),其組織樹報(bào)表的實(shí)現(xiàn)方式請查看不規(guī)范組織樹報(bào)表

3.2 其它設(shè)置

由于自動(dòng)生成的字段是編碼,可以使用數(shù)據(jù)字典將其轉(zhuǎn)為對應(yīng)的部門名稱,如下圖:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

3.3 保存與預(yù)覽

保存模板,點(diǎn)擊分頁預(yù)覽,效果如圖一

4. FineReport示例二橫向組織樹

按照下圖所示將對應(yīng)的數(shù)據(jù)列拖入到單元格中,在右側(cè)單元格屬性表-擴(kuò)展屬性中將B1、C1單元格的擴(kuò)展方向設(shè)為橫向,

并將B1單元格的左父格設(shè)置為A1,C1單元格的左父格設(shè)置為B1:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

4.1 條件屬性

有上面預(yù)覽數(shù)據(jù)可以看到從二層FR_GEN_1開始,就會(huì)有空白數(shù)據(jù),這是因?yàn)閿?shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)有上一級部門本身的部門名稱和部門ID,其上一級部門的部門級數(shù)會(huì)低一級,比如說上述數(shù)據(jù)的第一列為總部,雖然總部下面有子部門,但是數(shù)據(jù)庫中還是要存儲(chǔ)總部這個(gè)部門的部門名稱和部門ID的,總部對應(yīng)的級數(shù)為一級,那么其對應(yīng)的數(shù)據(jù)記錄列里面就只有FR_GEN_0層,下面的FR_GEN_1和FR_GEN_2這兩層就會(huì)沒有數(shù)據(jù),顯示為空白。

在模板制作過程中,從第二層級開始就會(huì)有空白數(shù)據(jù),需要將空白數(shù)據(jù)隱藏掉,選中B1和C1單元格,添加條件屬性,當(dāng)數(shù)據(jù)為空時(shí)隱藏該列,如下圖:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

4.2 其它設(shè)置

由于自動(dòng)生成的字段是編碼,可以使用數(shù)據(jù)字典將其轉(zhuǎn)為對應(yīng)的部門名稱,如下圖:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

4.3 保存與預(yù)覽

保存模板,點(diǎn)擊分頁預(yù)覽,效果如圖二。

5.FineReport示例三存儲(chǔ)過程創(chuàng)建樹數(shù)據(jù)集

5.1問題描述

存儲(chǔ)過程直接生成樹數(shù)據(jù)集無效,如圖:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

5.2解決思路

先建立數(shù)據(jù)庫查詢數(shù)據(jù)集ds1,然后數(shù)據(jù)集ds1里 “call 存儲(chǔ)過程名 存儲(chǔ)過程參數(shù)”,再用ds1生成樹數(shù)據(jù)集 。

若是調(diào)用數(shù)據(jù)庫存儲(chǔ)過程取數(shù),官方只支持查詢語句select進(jìn)行取數(shù),其他寫法(例如下面的寫法), 返回的結(jié)果不能保證,不建議使用 :

具體操作步驟如下:

新建一個(gè)數(shù)據(jù)庫查詢,輸入:{call username.package.procedure('${p1}','${p2}','${p3}',?)},然后設(shè)置下參數(shù)的初值,這樣就產(chǎn)生了一個(gè)普通的數(shù)據(jù)集ds1,如圖:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

再通過數(shù)據(jù)集ds1,設(shè)置樹數(shù)據(jù)集就好了,此時(shí)就可以正常生成樹數(shù)據(jù)集了,如圖:

FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表

其余操作和本文描述一樣了,只不過是通過存儲(chǔ)過程實(shí)現(xiàn)組織樹報(bào)表,需要增加調(diào)用存儲(chǔ)過程這步。

本文摘自博客園:http://www.cnblogs.com/laoA188/p/6944560.html



當(dāng)前題目:FineReport中如何制作樹數(shù)據(jù)集來實(shí)現(xiàn)組織樹報(bào)表
本文來源:http://weahome.cn/article/ihosce.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部