FineReport中樹數(shù)據(jù)集怎么實(shí)現(xiàn)組織樹報表,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括網(wǎng)站建設(shè)、做網(wǎng)站、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)核心團(tuán)隊(duì)十載專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。
組織樹報表中由id與父id來實(shí)現(xiàn)組織樹報表,若層級數(shù)較多時,對每個單元格設(shè)置過濾條件和形態(tài)會比較繁瑣,因此FineReport提供了一種特殊的數(shù)據(jù)集——樹數(shù)據(jù)集,只需要簡單的設(shè)置就能自動遞歸出層級,方便的實(shí)現(xiàn)如下圖組織樹報表:
圖一
圖二
構(gòu)建樹
新建報表,添加數(shù)據(jù)集
新建工作薄,添加數(shù)據(jù)集ds1取出原始數(shù)據(jù),SQL語句為SELECT * FROM 公司部門。
定義樹數(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ù)集,如下圖:
預(yù)覽數(shù)據(jù)
預(yù)覽樹數(shù)據(jù)集,可看到已自動生成遞歸樹數(shù)據(jù),F(xiàn)R_GEN_0為最高層,依次往下,如下:
縱向組織樹編輯
按照下圖所示將對應(yīng)的數(shù)據(jù)列拖入到單元格中,并將A2單元格的左父格設(shè)置為A1,A3單元格的左父格設(shè)置為A2:
條件屬性
有上面預(yù)覽數(shù)據(jù)可以看到從二層FR_GEN_1開始,就會有空白數(shù)據(jù),這是因?yàn)閿?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)不確定,即有的層級有子層,有的層級沒有子層時,其組織樹報表的實(shí)現(xiàn)方式請查看不規(guī)范組織樹報表
其它設(shè)置
由于自動生成的字段是編碼,可以使用數(shù)據(jù)字典將其轉(zhuǎn)為對應(yīng)的部門名稱,如下圖:
保存與預(yù)覽
保存模板,點(diǎn)擊分頁預(yù)覽,效果如圖一。
橫向組織樹編輯
按照下圖所示將對應(yīng)的數(shù)據(jù)列拖入到單元格中,在右側(cè)單元格屬性表-擴(kuò)展屬性中將B1、C1單元格的擴(kuò)展方向設(shè)為橫向,
并將B1單元格的左父格設(shè)置為A1,C1單元格的左父格設(shè)置為B1:
條件屬性
有上面預(yù)覽數(shù)據(jù)可以看到從二層FR_GEN_1開始,就會有空白數(shù)據(jù),這是因?yàn)閿?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ù)為空時隱藏該列,如下圖:
如果組織結(jié)構(gòu)的層級結(jié)構(gòu)不確定,即有的層級有子層,有的層級沒有子層時,其組織樹報表的實(shí)現(xiàn)方式請查看不規(guī)則組織樹報表
其它設(shè)置
由于自動生成的字段是編碼,可以使用數(shù)據(jù)字典將其轉(zhuǎn)為對應(yīng)的部門名稱,如下圖:
保存與預(yù)覽
保存模板,點(diǎn)擊分頁預(yù)覽,效果如圖二。
看完上述內(nèi)容,你們掌握FineReport中樹數(shù)據(jù)集怎么實(shí)現(xiàn)組織樹報表的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前文章:FineReport中樹數(shù)據(jù)集怎么實(shí)現(xiàn)組織樹報表
當(dāng)前路徑:http://chinadenli.net/article0/joigoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站導(dǎo)航、動態(tài)網(wǎng)站、云服務(wù)器、服務(wù)器托管、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)