當您建立相依 (或串聯) 下拉式清單時,使用者會選取清單中的選項,以篩選另一個清單中的選項。 許多組織建立相依清單,以協助使用者更有效率地填寫表單。 例如,使用者可能會選取國家或地區來篩選城市清單,或使用者可能會選取類別以僅顯示該類別中的代碼。
最佳做法是為「父」和「子」清單中的值 (例如國家/地區和城市) 建立資料來源,該資料來源與使用者使用應用程式更新的資料來源不同。 如果您採用這種方法,您可以在多個應用程式中使用相同的父子資料,而且可以更新該資料,而無需重新發佈使用這些資料的應用程式。 您可以使用集合或靜態資料來完成相同的結果,但不建議用於企業案例。
針對本主題中的案例,商店員工會透過表單將問題提交至 「事件」 清單。 員工不僅要指定事件發生的商店的位置,還要指定該地點內的部門。 並非所有位置都有相同的部門,因此 位置清單 可確保員工無法為沒有該部門的位置指定部門。
備註
本文使用使用 Microsoft Lists 作為資料來源建立的清單。 不過,所有表格式資料來源的運作方式都相同。 在 Dataverse for Teams 中,您需要啟用 傳統控制項 ,才能讓傳統下拉式清單適用於此案例。
建立資料來源
位置清單會顯示每個位置的部門。
| 地點 | 部門 |
|---|---|
| 伊根維爾 | 麵包店 |
| 伊根維爾 | 熟食店 |
| 伊根維爾 | 製造 |
| 倫弗魯 | 麵包店 |
| 倫弗魯 | 熟食店 |
| 倫弗魯 | 製造 |
| 倫弗魯 | 藥房 |
| 倫弗魯 | 芙蘿爾 |
| 彭布羅克 | 麵包店 |
| 彭布羅克 | 熟食店 |
| 彭布羅克 | 製造 |
| 彭布羅克 | 芙蘿爾 |
「事件」清單會顯示聯絡資訊和每個事件的資訊。 將日期資料行建立為 日期 資料行,但將其他資料行建立為 單行文字 資料行,以簡化設定並避免 Microsoft Power Apps 中的 委派 警告。
| 名字 | 姓氏 | 電話號碼 | 地點 | 部門 | Description | Date |
|---|---|---|---|---|---|---|
| 托尼亞 | 科爾特斯 | (206) 555 - 1022 | 伊根維爾 | 製造 | 我有一個問題... | 2/12/2019 |
| 摩西 | 拉弗拉姆 | (425) 555 - 1044 | 倫弗魯 | 芙蘿爾 | 我遇到了一個問題... | 2/13/2019 |
根據預設,清單包含您無法重新命名或移除的 [標題] 欄,而且它必須包含資料,才能在清單中儲存項目。 若要設定欄位,使其不需要輸入資料:
- 在右上角附近,選取齒輪圖示,然後選取 [清單設定]。
- 在 [設定] 頁面上,選取資料行清單中的 [標題]。
- 在 [要求此資料行包含資訊] 底下,選取 [ 否]。
變更之後,您可以忽略 [標題] 欄,或者如果至少出現一個其他欄,則可以 將其從 預設檢視中移除。
開啟表單
開啟 事件 清單,然後選取 整合 ->Power Apps ->自訂表單。
瀏覽器標籤頁會開啟 Power Apps Studio 中的預設表單。
(選用)在 [欄位] 窗格中,將滑鼠停留在 [標題] 欄位上,選取出現的省略符號 (...),然後選取 [ 移除]。
如果您已關閉 [欄位] 窗格,您可以選取左側導覽列中的 SharePointForm1,然後選取右側窗格的 [屬性] 索引標籤上的 [編輯欄位],以再次開啟它。
(選用)重複上一個步驟,從表單中移除 附件 欄位。
表單只會顯示您新增的欄位。
替換控制項
在 [欄位] 窗格中,選取 [位置] 旁的箭號。
如果您已關閉 [欄位] 窗格,您可以選取左側導覽列中的 SharePointForm1,然後選取右側窗格的 [屬性] 索引標籤上的 [編輯欄位],以再次開啟它。
開啟 [控制項類型 ] 清單,然後選取 [允許的值]。
輸入機制會變更為 [下拉式] 控制項。
對 部門 卡重複這些步驟。
新增位置清單
選取 檢視>資料來源 新增>資料來源。
選取或建立 SharePoint 連線,然後指定包含 [位置] 清單的網站。
選取該清單的核取方塊,然後選取 [連線]。
連線清單會顯示表單所依據的 「事件」 清單,以及「 位置」 清單,其將識別表單中的位置和部門。
解鎖卡片
選取 [位置] 卡片,選取右側窗格中的 [ 進階 ] 索引標籤,然後選取 [解除鎖定] 以變更屬性。
請對 部門 卡片重複前一個步驟。
重新命名控制項
如果您重新命名控制項,您可以更輕鬆地識別它們,而且範例也更容易遵循。 若要探索其他最佳實務,請檢閱 編碼標準和準則白皮書。
在 [位置] 卡片中,選取 [下拉式] 控制項。
在右側窗格頂端附近,輸入或貼上 ddLocation 來重新命名選取的控制項。
在 [部門 ] 卡片中重複前兩個步驟,將 [下拉式] 控制項重新命名為 ddDepartment。
設定位置
將 ddlocation 的 Items 屬性設定為下列公式:
Distinct(Locations, Location)(選用)按住 Alt 鍵的同時,開啟 ddLocation,並確認清單顯示三個位置。
設定部門
選取 [ddDepartment],然後在右側窗格的 [屬性] 索引標籤上,選取 [取決於]。
在 [父控制項] 底下,確定 ddLocation 出現在上方清單中,而 [結果] 出現在下方清單中。
備註
如果您不想比對字串,而是比對資料列的實際 ID,請選取 ID 而不是 結果。
在比對欄位下,選取上方清單中的位置,選取下方清單中的位置,然後選取套用。
ddDepartment 的 Items 屬性會設定為下列公式:
Filter(Locations, Location = ddLocation.Selected.Result)此公式會根據使用者在 ddLocation 中選取的內容來篩選 ddDepartment 中的專案。 這類設定可確保部門的「子」清單反映其「父」位置的資料,如 SharePoint 中指定的位置清單。
在右側窗格的 [屬性] 索引標籤上,開啟 [值] 旁的清單,然後選取 [部門]。
此步驟會將顯示文字設定為 SharePoint 中 [位置] 清單的 [部門] 欄中的選項。
測試表單
按住 Alt 鍵的同時,開啟位置清單,選取一個,開啟部門清單,然後選取一個。
位置和部門清單會反映 SharePoint 中 [位置] 清單中的資訊。
儲存並開啟表單 (選用)
開啟 [檔案] 功能表,然後選取 [儲存>],再選擇 [發佈至 SharePoint>][發佈至 SharePoint]。
在左上角,選取返回箭號,然後選取 [返回 SharePoint]。
在命令列中,選取 新增 以開啟自訂表單。
FAQ
我看不到任何數據:來源都是空白的或有錯誤的數據。 確認您是否以下列任一方式顯示控制項的正確欄位:
選取下拉式清單,然後在右側窗格的 [屬性] 索引標籤中選取 [值] 屬性。
選取組合框,然後確定主要文字是您要顯示的欄位。
我的子下拉是清單包含重複的項目。 此症狀可能是由於在 SharePoint 中使用 查閱 欄或 Power Apps 中的 選擇 函式所致。 若要移除重複,請將 Distinct 函式包裝在正確傳回的資料周圍。 其他資訊: 相異函式。
已知的限制
此設定適用於 下拉式選單 控制項,以及 下拉式方塊 和 清單方塊 控制項,這些控制項每次僅允許選取一個選項。 如果允許多重選取,則無法針對任何控制項使用 Depends On。 不建議使用此方法來處理 Microsoft Dataverse 中的選項。
相依設定不支援靜態資料或集合。 若要使用這些來源設定相依下拉式清單,請直接在編輯列中編輯運算式。 此外,Power Apps 不支援在沒有任何相符資料表的情況下在 SharePoint 中使用兩個選擇欄位,而且您無法在此 UI 中定義 相符欄位 。