跳至主要内容

樹形篩選與層級顯示

路徑:【後台管理】⇒【應用管理】⇒【應用】⇒【業務模型】⇒【列表設計】

當數據本身帶有上下層關係時,例如產品分類、BOM 的母件與子件、公司與上級公司,用一般的下拉篩選不容易看出彼此的隸屬關係。列表設計提供兩個功能來處理這種情境:

  • 樹形篩選:把篩選欄位改成樹狀結構顯示在前台列表左側,點選節點即可篩選出該節點底下的數據。
  • 層級顯示:讓前台可以直接檢視一筆數據的上下層關係,或展開它在其他模型中的關聯數據。

本章節以「產品分類與 BOM 管理」應用的 【產品主檔】 為例,說明這兩項設定的方式與前台的操作方式。

1. 畫面介紹


前台列表的左側是 【樹形篩選】 區,最上方為篩選欄位的頁籤,下方依序是搜尋框與樹狀結構;數據列最前方則是 【層級顯示】 的兩個操作圖示,分別用來檢視該筆數據的層級關係與展開它的關聯數據。

前台的樹形篩選與層級顯示

前台的樹形篩選與層級顯示

2. 事前準備:自關聯欄位


樹形篩選與層級顯示都是依照 自關聯欄位 來組成層級,因此在設定之前,請先在 【表單設計】 中準備好需要的欄位。

自關聯是指 關聯單選 控制項的 【選擇業務模型】 指向表單自己,讓同一張表單的某一筆數據可以關聯到另一筆數據,被關聯的那筆就是它的上層數據。

本範例在 【產品主檔】 中準備了兩個自關聯欄位:

欄位用途
上層分類記錄產品所屬的分類,用來組成產品分類的層級
母件記錄產品的上層組件,用來組成 BOM 的母件與子件關係

欄位的新增方式請詳見 表單設計介紹進階控制項 章節。

表單設計中的自關聯欄位

表單設計中的自關聯欄位

3. 樹形篩選


📌 設為樹形篩選

樹形篩選是篩選欄位的一種呈現方式,所以要先把欄位加入 【篩選欄位】

【網頁版】【篩選欄位】 中點選 『新增圖示』『+ 篩選欄位』,選擇要作為樹形篩選的自關聯欄位;篩選欄位的新增與排序方式請詳見 篩選欄位 章節。

本範例加入了 上層分類母件 兩個欄位。

將自關聯欄位加入篩選欄位

將自關聯欄位加入篩選欄位

點選 『篩選欄位名稱』,即可在設定視窗中把 【選擇方式】 改為 『樹形篩選』

【選擇方式】 只有關聯類的控制項才會出現,共有三個選項:

  • 下拉框:以下拉選單選擇數據。
  • 彈出框:開啟選擇視窗選擇數據。
  • 樹形篩選:改以樹狀結構固定顯示在前台列表左側。

選擇方式改為樹形篩選

選擇方式改為樹形篩選

設為樹形篩選的欄位會固定顯示在前台列表左側,因此不能再設為 快捷篩選,該欄位右側的 『釘選符號』 也不會出現。

📌 查詢欄位

【查詢欄位】 用來決定樹狀結構要依照哪一個自關聯欄位展開,下拉選單中只會列出模型裡的自關聯欄位。

一般情況下請選擇與 【數據項】 相同的欄位,也就是它自己;本範例的 上層分類 篩選欄位就選擇 上層分類母件 篩選欄位則選擇 母件

查詢欄位

查詢欄位

【查詢方式】 則是篩選的判斷邏輯,關聯單選可選擇 等於不等於等於任意一個不等於任意一個

📌 樹狀顯示方式

【樹形顯示方式】 決定樹狀結構要怎麼依照使用者的數據權限產生節點,兩者互斥,只能選擇其中一項。

  • 動態計算顯示:基於使用者權限內的數據,動態計算根節點和每一層級節點。
  • 依固定層級顯示:從有數據權限的根節點開始,逐級向下展開,對於無數據權限的下級節點,則不顯示。

樹狀顯示方式

樹狀顯示方式

📌 含子數據與顯示篩選項

【含子數據】 開啟後,點選樹狀節點時會連同該節點底下所有層級的數據一起查詢;關閉時則只會查詢剛好等於該節點的數據。

【顯示篩選項】 可以在樹狀結構中額外加入 顯示 "為空" 項顯示 "不為空" 項 兩個選項,讓前台使用者篩選出該欄位沒有填寫、或已經填寫的數據。

含子數據與顯示篩選項

含子數據與顯示篩選項

📌 多個樹形篩選

同一個列表可以設定多個樹形篩選。設定後,中間的預覽區左側就會出現樹形篩選區,並以頁籤區隔各個欄位。

本範例的 上層分類母件 都設為樹形篩選,前台就能切換頁籤,分別用產品分類或 BOM 的母件關係來篩選數據。

以頁籤區隔多個樹形篩選

以頁籤區隔多個樹形篩選

4. 層級顯示


【層級顯示】 用來設定前台可以檢視哪些層級關係。點選 『+ 層級顯示』 即可新增一組設定,點選已建立的項目則可以修改,點選右側的 『刪除圖示』 可以將其移除。

一個列表可以建立多組層級顯示設定,本範例建立了三組:產品分類層級BOM層級(母件-子件)產品關聯資訊(報價、庫存)

層級顯示

層級顯示

【層級顯示設定】 視窗中,【層級顯示名稱】 是前台切換層級時顯示的名稱,【層級關係】 則決定層級要從哪裡取得,兩者都是必填。

📌 本模型自關聯

【本模型自關聯】 是用同一個模型裡的自關聯欄位組成層級,【層級顯示】 的下拉選單中只會列出模型裡的自關聯欄位。

本範例的 產品分類層級 選擇 上層分類BOM層級(母件-子件) 則選擇 母件,同一份產品數據因此可以用兩種不同的角度檢視層級。

本模型自關聯

本模型自關聯

📌 顯示欄位設定

【顯示欄位設定】 用來指定層級畫面要顯示哪些欄位,與列表本身的 顯示欄位 各自獨立。

點選後會開啟 【設定顯示欄位】 視窗,左側勾選要顯示的系統欄位與主表欄位,右側的 【已選欄位】 則可以長按拖曳調整順序、點選 『X』 移除單一欄位,或點選 『清空』 全部移除。

設定顯示欄位

設定顯示欄位

📌 跨模型關聯

【跨模型關聯】 是把其他模型的數據當成下層,適合用來一次檢視一筆數據的相關資訊。

【層級顯示】 區塊會以樹狀方式呈現層級結構,最上層固定是標記為 【本模型】 的目前模型。點選右側的 『+』 即可新增下一層,下拉選單會列出應用中有欄位關聯到上層模型的模型,並同時標示用來關聯的 【關聯欄位】

本範例在 產品主檔 底下加入了 供應商報價庫存異動 兩個模型,前台展開一筆產品時就能直接看到它的報價與庫存異動紀錄。

跨模型關聯

跨模型關聯

每一層右側的 『欄位』 用來設定該模型要顯示的欄位,『⋯』 則提供 新增下級刪除下級 兩個選項,可以再往下延伸更多層級。

新增下級與刪除下級

新增下級與刪除下級

每個列表只能新增一組跨模型關聯的層級顯示設定。已經建立過之後,【層級關係】 中的 『跨模型關聯』 就會變成不可選取。

設定完成後,記得依序點選 『儲存』『發布』,更新的內容才會實際顯示在前台。

5. 前台操作


📌 樹形篩選

樹形篩選固定顯示在前台列表左側。點選節點前方的 『展開箭頭』 可以展開或收合下層節點,點選節點名稱則會立刻篩選數據,被套用篩選的欄位表頭也會出現 『篩選圖示』;點選 『全部』 即可取消篩選。

節點較多時,可以用上方的搜尋框直接搜尋節點名稱。

本範例點選 電子產品 後共篩選出 10 筆數據,其中包含 上層分類 為下層節點 筆記型電腦顯示器 的產品,這就是 【含子數據】 開啟後的效果。

點選樹狀節點篩選數據

點選樹狀節點篩選數據

📌 展開子數據

點選數據列最前方的 『展開箭頭』,即可在該筆數據下方展開跨模型關聯的子數據;有多個下層模型時會以頁籤區隔,點選頁籤即可切換。

展開跨模型關聯的子數據

展開跨模型關聯的子數據

📌 層級關係畫面

點選數據列前方的 『層級圖示』,即會開啟該筆數據的層級關係畫面,並依照 【顯示欄位設定】 指定的欄位呈現數據。

畫面左上角會顯示目前使用的層級名稱,點選旁邊的 『下拉箭頭』 即可切換到其他本模型自關聯的層級設定;本範例可在 產品分類層級BOM層級(母件-子件) 之間切換。點選右上角的 『X』 則會回到列表。

層級關係畫面

層級關係畫面

6. 注意事項


  • 【層級顯示】 只有 【網頁版】 提供設定,手機版不支援;手機版的列表也不會顯示左側的樹形篩選區。
  • 樹形篩選與層級顯示都依賴自關聯欄位,如果表單中沒有自關聯的 關聯單選 控制項,【選擇方式】 就不會出現 『樹形篩選』【層級顯示】 也無法選擇 『本模型自關聯』
  • 樹狀結構與層級畫面都會受數據權限影響,前台使用者只會看到自己有權限的數據;數據範圍的設定方式請詳見 數據限定範圍 章節。