web表單設計器中如何製作不規範組織樹報表?

在實際應用中,組織樹報表除了使用到的比較規範的組織結構,即,除了最後一層,所有其他層的結構都是子層,還有很多組織結構並不是這麼的規範,有的層級結構下面沒有子層,有的層級結構下面則有子層,即層級結構不確定,下面就通過web表單設計器FineReport來介紹一下。

工具/原料

web表單設計器FineReport7.1.1

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

方法/步驟

資料準備

新建內建資料集ds1:,如下圖:

注:內建資料集中第二層級結構中有一個結構沒有子層,其他的結構有子層。

web表單設計器中如何製作不規範組織樹報表

模板製作

由於上面準備資料是不規範的組織結構,我們按照組織樹報表中的方法來實現組織樹,即不使用樹資料集,模板效果如下圖:

web表單設計器中如何製作不規範組織樹報表

單元格設定如下表

web表單設計器中如何製作不規範組織樹報表

在新增過濾條件時,需要去掉將父格子作為過濾條件前面的勾選,如下圖A2單元格的過濾條件:

web表單設計器中如何製作不規範組織樹報表

效果檢視

此時儲存模板,可以看到如下圖效果,沒有子層的層級結構並沒有合併單元格,其子層單元格還在,但是沒有資料顯示:

web表單設計器中如何製作不規範組織樹報表

合併單元格

從效果圖上可以看到沒有下層的層級結構應該合併單元格顯示,即未歸集舊資料應該合併單元格至最下層。

由於FineReport不支援自動合併單元格,只能手動合併,未歸集舊資料所在層級為第二層,第二層資料所在單元格為第二行,最後一層在第三行,所以合併A2後面的單元格至第三行,即合併B2和B3單元格,A1單元格是第一層資料,故需要將其顯示在所有資料上面,需要合併A1和B1單元格。

回到模板設計介面,按照上述描述再操作模板,拖曳id列至B2單元格中,設定擴充套件為橫向擴充套件,其父格為A2,使資料擴充套件時,每個第二層級資料後面都跟了一個合併的單元格 ,且顯示對應層級資料,並設定其形態為:實際值為ds1的name欄位,結果如下圖:

web表單設計器中如何製作不規範組織樹報表

此時,點選分頁預覽,效果如下圖:

web表單設計器中如何製作不規範組織樹報表

過濾條件

為剛剛合併的B2單元格新增過濾條件,B2單元格只顯示沒有子層的第二層結構資料,即只顯示A3單元格為空的資料,新增過濾條件len(A3)==0,如下圖:

web表單設計器中如何製作不規範組織樹報表

此時,再次預覽模板,如下圖,有子層的層級資料後面都有一個合併的單元格,因為其對應的A3單元格不為空,故沒有資料過濾過來,顯示為空

web表單設計器中如何製作不規範組織樹報表

條件屬性

上面效果圖中,沒有子層的層級資料的子層顯示為空白,有子層結構的層級資料後面的合併單元格顯示為空白,通過條件屬性,將空白列隱藏,如下圖,同時選中A2、A3和B2單元格,為其新增條件屬性:

web表單設計器中如何製作不規範組織樹報表

其他設定

按照效果圖中設定單元格樣式,並將untils資料列拖曳至第4行單元格中,如下圖:

web表單設計器中如何製作不規範組織樹報表

如果組織結構有4層,那麼其模板樣式如下圖:

web表單設計器中如何製作不規範組織樹報表

效果檢視

儲存模板,點選分頁預覽,效果下圖。

web表單設計器中如何製作不規範組織樹報表

結構, 報表, 表單, 器中, 子層,
相關問題答案