成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

vvpale / 889人閱讀

摘要:問題描述,組織樹報表中由與父來實現(xiàn)組織樹報表,若層級數(shù)較多時,對每個單元格設(shè)置過濾條件和形態(tài)會比較繁瑣,因此提供了一種特殊的數(shù)據(jù)集樹數(shù)據(jù)集,只需要簡單的設(shè)置就能自動遞歸出層級,方便的實現(xiàn)如下圖組織樹報表圖一圖二構(gòu)建樹新建報表,添加數(shù)據(jù)集新建

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

圖一

圖二

FineReport構(gòu)建樹
2.1 新建報表,添加數(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這個字段生成樹,添加樹數(shù)據(jù)集,如下圖:


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


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

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


3.1 條件屬性
有上面預(yù)覽數(shù)據(jù)可以看到從二層FR_GEN_1開始,就會有空白數(shù)據(jù),這是因為數(shù)據(jù)庫中存儲的數(shù)據(jù)有上一級部門本身的部門名稱和部門ID,其上一級部門的部門級數(shù)會低一級,比如說上述數(shù)據(jù)的第一行為總部,雖然總部下面有子部門,但是數(shù)據(jù)庫中還是要存儲總部這個部門的部門名稱和部門ID的,總部對應(yīng)的級數(shù)為一級,那么其對應(yīng)的數(shù)據(jù)記錄行里面就只有FR_GEN_0層,下面的FR_GEN_1和FR_GEN_2這兩層就會沒有數(shù)據(jù),顯示為空白。
在模板制作過程中,從第二層級開始就會有空白數(shù)據(jù),需要將空白數(shù)據(jù)隱藏掉,選中A2和A3單元格,添加條件屬性,當(dāng)數(shù)據(jù)為空時隱藏該行,如下圖:

注:如果組織結(jié)構(gòu)的層級結(jié)構(gòu)不確定,即有的層級有子層,有的層級沒有子層時,其組織樹報表的實現(xiàn)方式請查看不規(guī)范組織樹報表
3.2 其它設(shè)置
由于自動生成的字段是編碼,可以使用數(shù)據(jù)字典將其轉(zhuǎn)為對應(yīng)的部門名稱,如下圖:

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

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

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

4.1 條件屬性
有上面預(yù)覽數(shù)據(jù)可以看到從二層FR_GEN_1開始,就會有空白數(shù)據(jù),這是因為數(shù)據(jù)庫中存儲的數(shù)據(jù)有上一級部門本身的部門名稱和部門ID,其上一級部門的部門級數(shù)會低一級,比如說上述數(shù)據(jù)的第一列為總部,雖然總部下面有子部門,但是數(shù)據(jù)庫中還是要存儲總部這個部門的部門名稱和部門ID的,總部對應(yīng)的級數(shù)為一級,那么其對應(yīng)的數(shù)據(jù)記錄列里面就只有FR_GEN_0層,下面的FR_GEN_1和FR_GEN_2這兩層就會沒有數(shù)據(jù),顯示為空白。
在模板制作過程中,從第二層級開始就會有空白數(shù)據(jù),需要將空白數(shù)據(jù)隱藏掉,選中B1和C1單元格,添加條件屬性,當(dāng)數(shù)據(jù)為空時隱藏該列,如下圖:

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

4.3 保存與預(yù)覽
保存模板,點擊分頁預(yù)覽,效果如圖二。
5.FineReport示例三存儲過程創(chuàng)建樹數(shù)據(jù)集
5.1問題描述
存儲過程直接生成樹數(shù)據(jù)集無效,如圖:

5.2解決思路
先建立數(shù)據(jù)庫查詢數(shù)據(jù)集ds1,然后數(shù)據(jù)集ds1里 “call 存儲過程名 存儲過程參數(shù)”,再用ds1生成樹數(shù)據(jù)集 。
若是調(diào)用數(shù)據(jù)庫存儲過程取數(shù),官方只支持查詢語句select進行取數(shù),其他寫法(例如下面的寫法), 返回的結(jié)果不能保證,不建議使用 :
具體操作步驟如下:
新建一個數(shù)據(jù)庫查詢,輸入:{call username.package.procedure("${p1}","${p2}","${p3}",?)},然后設(shè)置下參數(shù)的初值,這樣就產(chǎn)生了一個普通的數(shù)據(jù)集ds1,如圖:

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

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

本文首創(chuàng)CSDN:http://blog.csdn.net/szd_happ...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/50834.html

相關(guān)文章

  • FineReport數(shù)據(jù)如何實現(xiàn)組織報表

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

    Travis 評論0 收藏0
  • FineReport數(shù)據(jù)如何實現(xiàn)組織報表

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

    Dongjie_Liu 評論0 收藏0
  • FineReport如何安裝移動端H5插件

    摘要:移動端報表使用方法安裝好插件后,在瀏覽器中調(diào)用時,需要在報表路徑后面加上參數(shù)。另外移動端的插件,圖表是只支持顯示新圖表。 HTML5報表插件安裝及使用編輯 插件安裝插件網(wǎng)址以及設(shè)計器插件安裝方法和服務(wù)器安裝插件的方法可以官網(wǎng)上面搜索,這里就不做詳細介紹了。 移動端HTML5報表使用方法安裝好插件后,在瀏覽器中調(diào)用時,需要在報表路徑后面加上參數(shù)op=h5。但是PC端不完全支持H5效果。移...

    bovenson 評論0 收藏0

發(fā)表評論

0條評論

vvpale

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<