反饋已提交

網絡繁忙

樹結構報表簡介

1. 概述

事物之間存在分支層次關係時,一般可用摺疊或縮排形式的組織樹展現。

在資料表結構中,這種分支層次關係一般透過類似 ID 與 parentID 兩個欄位表示,下圖為表結構關係及其實現的組織樹效果,組織的每個物件都由第一欄唯一表示,每個物件之間的關係(上層物件)都是由第二列表示(值為第一欄中中存在的值)。如下圖所示:

注:組織樹僅支援凍結第一個層級,摺疊樹不支援凍結。

2. 範例

2.1 準備資料

建立普通報表,新增資料集 ds1,SQL 語句為:SELECT * FROM 公司部門,如下圖所示:

2.2 設計表格

透過分析資料集中的資料可以看出,該組織結構包含 3 層,因此我們需要將這三層分別取出來。由於「部門 ID」列可以唯一表示一個部門,並且部門之間的層次關係也是透過「部門 ID」列的值表示的,所以設計表格如下:

1)範本有三個儲存格組織,每個儲存格擴展代表一個層次;

2)儲存格均拖入資料集中的「部門 ID」列,再設定不同的過濾條件。

最終表格效果如下:

2.2.1 過濾第一層資料

儲存格 A1 代表第一層部門,比如“總部”。但預設擴展出所有部門 ID,需要透過過濾條件篩選出第一層部門。

由資料可以看出,第一層「上級 ID」 為空,因此雙擊 A1 儲存格,選擇「過濾」,新增條件:“上級 ID” 等於 'NULL',如下圖所示:

2.2.2 過濾第二層資料

儲存格 A2 代表第二層部門,比如“人力資源部”、“市場部”等。

1)選擇 A2 儲存格,選擇「儲存格屬性>擴展」,設定 A2 的左父格為 A1,上父格為預設,縱向擴展,使得該級部門 ID 能夠跟隨上級部門 ID 自動擴展,如下圖所示:

2)雙擊 A2 儲存格,點選過濾,新增條件:“上級 ID”等於'A1',取消勾選「將父格子作為過濾條件」,由於設定了父格,A1、A2 中資料列又來自於同一資料集,此時子格預設會將父格作為過濾條件,即會篩選出 部門 ID =父格 ID 的資料,導致沒有符合條件的資料。因此需要在 A2 儲存格過濾時,取消勾選如下圖所示:

2.2.3 過濾第三層資料

第三層的原理與第二層相同,具體設定如下:

1)選擇 A3 儲存格,選擇「儲存格屬性>擴展」,設定 A3 的左父格為 A2,上父格為預設,縱向擴展,如下圖所示:

2)雙擊 A3 儲存格,點選過濾,新增條件“上級 ID”等於'A2' and “上級 ID”不等於' NULL ',取消勾選「將父格子作為過濾條件」,如下圖所示:

注:樹節點展開時,有多個根節點且根節點下沒有子節點,會有一層置空,需要在過濾條件中加上類似 parentID 不等於 NULL 的條件。

注:若資料中組織層數不止三層,可以按照相同的方法新增。

2.2.4 儲存格顯示值設定

1)範本中使用的是部門 ID,要顯示為相應的部門名稱,分別選擇 A1、A2、A3 儲存格,選擇「儲存格屬性>形態>資料字典」,類型設定為「資料查詢」,資料集為「ds1」,實際值和顯示值分別為「部門ID」和「部門名稱」,如下圖所示:

2)若某一層中有些有子層,有些沒有子層,此時由於擴展會出現一些空白行,可以將空白行設定條件屬性進行隱藏,詳情可參見:隱藏列欄

2.3 效果預覽

2.3.1 PC 端

儲存報表,點選「分頁預覽」,效果如下圖所示:

2.3.2 行動端

App 與 HTML5 端效果相同,如下圖所示:

2.4 範本下載

已完成範本可參見:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\GroupReport\組織樹報表.cpt

點選下載範本:組織樹報表.cpt

3. 範例索引

說明文檔
應用場景效果預覽
樹資料集實現組織樹報表樹資料集,只需要簡單的設定就能自動遞迴出層級,方便實現組織樹報表。

1.gif

1.gif

不規範組織樹報表不規範的組織結構:有的層級結構下面有子層,有的層級結構下面沒有子層,即層級結構不確定。
組織樹傳參左側顯示樹狀圖,右邊顯示樹中某一節點的詳細資訊。當點選左側組織樹的時候,右邊表格隨之自動變換。1.gif
折疊樹展示樹狀層級資料時,可以透過點選按鈕的方式來展開或收起每層的資料。1.gif
雙向摺疊樹資料表可以根據橫向和縱向的表頭分別實現展開或摺疊到任何資料詳細資訊,以方便動態查看1.gif
JS實現摺疊樹所有節點一鍵全部展開或收起實現一鍵全部展開或收起摺疊樹。1.gif
JS實現自訂摺疊樹節點展開層數當組織樹層級不確定時候,能在初始化時候根據需求展開一定層級的樹節點


附件列表


主題: 報表應用
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙