在畫布應用程式中建立相依的下拉式清單

當您建立相依 (或層疊) 下拉式清單時,使用者可在清單中選取選項,以篩選另一個清單中的選項。 許多組織會建立相依清單,協助使用者更加有效地填寫表單。 例如,使用者可以選取國家或地區來篩選城市清單,或者使用者可以選取類別來只顯示該類別中的程式碼。

最佳的作法是,為「上層」與「孩子」清單中的值建立資料來源 (例如,國家/地區和城市),與使用者使用應用程式更新的資料來源不同。 如果您採用這種方法,則可以在多個應用程式中使用相同的上層和子資料,而且您可以更新該資料,而不需要重新發佈應用程式或使用它們的應用程式。 您可以使用集合或靜態資料來完成相同的結果,但是不建議在企業案例中使用它。

在此主題的案例中,將員工透過表單將問題提交至 Incidents 清單。 員工不僅指定發生事件的商店位置,也指定該地點的部門。 並非所有的地點都有相同的部門,所以位置清單可確保員工無法為不具備該部門的地點指定部門。

注意

本文用使用 Microsoft Lists 建立的清單做為資料來源。 但所有表格式資料來源的運作方式都相同。 在 Dataverse for Teams 中,您需要啟用傳統控制項,以取得適用於此案例的傳統下拉式清單。

建立資料來源

Locations 清單顯示每個位置的部門。

地點 部門
伊根維爾 麵包店
伊根維爾 熟食店
伊根維爾 製造
倫弗魯 麵包店
倫弗魯 熟食店
倫弗魯 製造
倫弗魯 藥房
倫弗魯 花卉
彭布羅克 麵包店
彭布羅克 熟食店
彭布羅克 製造
彭布羅克 花卉

Incidents 清單顯示每個事件的連絡人資訊和資訊。 建立日期欄做為 Date欄,但是將其他欄建立為 Single line of text 以簡化設定並避免 Microsoft Power Apps 中的委派 警告。

名字 姓氏 電話號碼 地點 部門 描述 日期
譚雅 科爾特斯 (206) 555 - 1022 伊根維爾 製造 我對...有問題 2/12/2019
摩西 拉弗萊姆 (425) 555 - 1044 倫弗魯 芙蘿爾 我遇到問題... 2/13/2019

根據預設,清單包括無法重新命名或移除的標題資料行,且它必須包含資料,然後才能將項目儲存在清單中。 若要設定欄,讓它不需要資料:

  1. 選取靠近右上角的齒輪圖示,然後選取 List settings
  2. Setting 頁面上,選取清單中的 Title 欄。
  3. Require that this column contains information,選取 No

在這個變更之後,您可以忽略標題行,或者,如果至少出現一個其他行,您可以從預設視圖 移除它

開啟表單

  1. 開啟事件清單,然後選取整合 -> Power Apps -> 自訂表單

    打開事件清單,然後選取 Power Apps > 自訂表單。

    瀏覽器索引標籤會以中的預設表單打開 Power Apps Studio。

  2. (非必要) 在 Fields窗格中,停留在 Title 欄位上,選取顯示的省略號(...),然後選取 Remove

    如果您已關閉 Fields 窗格,您可以選取左導覽列的 SharePointForm1,然後選取右邊窗格的 Properties 索引標籤的 Edit 欄,來再次打開它。

  3. (非必要) 重複上一個步驟,從表單移除附件欄位。

    表單只會顯示您新增的欄位。

    不含標題和附件欄位的表單。

取代控制項

  1. 欄位窗格中,選取位置旁邊的箭頭。

    如果您已關閉欄位窗格,您可以選取左瀏覽列的 SharePointForm1,然後選取右邊窗格的屬性索引標籤的 編輯欄位,來再次打開它。

  2. 打開控制項類型清單,然後選取允許的值

    允許的值。

    輸入機制會變更為下拉式選單控制項。

  3. 針對 Department 卡重複上述步驟 。

新增位置清單

  1. 選取 View > Data Sources > Add data source

  2. 選取或建立 SharePoint 連接,然後指定包含 Locations 清單的網站 。

  3. 選取該清單的核取方塊,然後選取 Connect

    資料窗格。

    連接清單會顯示表單所依據的 Incidents 清單,以及要在表單中標識位置和部門的 Locations 清單。

    SharePoint 資料來源。

解除鎖定卡片

  1. 選取 Location卡片,在右窗格中選取 Advanced 索引標籤,然後選取 Unlock to change properties

  2. 針對 Department卡重複前一個步驟。

將控制項重新命名為

若您將控制項重新命名,您可以更輕鬆地識別它們,而且範例也更容易進行。 若要找出其他的最佳作法,請查閱 編碼標準和準則白皮書

  1. Location 卡片中,選取 下拉式選單控制項。

  2. 在右邊窗格的頂端附近,輸入或黏貼 ddLocation 以重新命名選取的控制項 。

    重新命名控制項。

  3. 重複在 Department卡片中的前兩個步驟 ,將下拉式選單控制項重新命名 為 ddDepartment

設定位置

  1. ddlocationItems 屬性設定為以下公式︰

    Distinct(Locations, Location)

  2. (非必要) 按住 ALT 鍵,打開 ddLocation,確認清單顯示三個位置。

設定部門

  1. 選取 ddDepartment,然後在右邊窗格的 Properties 索引標籤上選取 Depends on.

  2. Parent control,確定 ddLocation 出現在上方的清單中,而且 Result 出現在下部的清單中。

    注意

    如果您不想要符合字串資料列的實際 ID,請選取 ID而不是 Result

  3. Matching field 底下選取上方清單中的 Locations,並選取下方清單中 Location,然後選取 Apply

    依連結而定。

    ddDepartmentItems 屬性設定為以下公式︰

    Filter(Locations, Location = ddLocation.Selected.Result)

    此公式會根據使用者在 ddLocation 中所選取的專案來篩選 ddDepartment的專案 。 如此的設定可確保部門的「子項」清單反映其「上層」位置的資料,因為 SharePoint 中的 Locations 清單會指定。

  4. 在右側窗格的 Properties 索引標籤上,打開 Value 旁的清單,然後選取 Department

    此步驟將設定顯示文字為 SharePoint 中 Locations 清單的 Department 欄位選項。

    部門值。

測試表單

按住 ALT 鍵的同時,打開位置清單,選取一個,打開部門清單,然後選取一個部門清單。

地點和部門清單會反映在 SharePoint 中的 Locations 資訊。

打開位置清單,將選項從 Renfrew 變更為 Pembroke,然後打開部門清單。

儲存後開啟表單 (非必要)

  1. 開啟 File 功能表,並選取Save > Publish to SharePoint > Publish to SharePoint

  2. 在左上角,選取上一步箭頭,然後選取 Back to SharePoint

  3. 在命令列中,選取 New 開啟您的自訂表單。

常見問題集

看不到任何資料:來源為空白或有錯誤的資料。 請確認您在其中一種方式中是否要顯示控制項的正確欄位:

  • 在右側窗格的 Properties 索引標籤上,選取下拉式清單,然後選取 Value 屬性。

    變更下拉式選單。

  • 選取一個組合方塊,然後確定主要文字是您要顯示的欄位。

    變更下拉式方塊。

我的子下拉是清單包含重複的項目。 發生這種現象可能是由於在 SharePoint 中使用 LookUp 欄或在 Power Apps 中使用 Choices 函數 。 若要移除重復資料,請將 Distinct 函數裝合在正確返回的資料。 其他資訊:不同函數

已知限制

此設定適用於允許一次選取一個的下拉式選單控制項,以及組合方塊清單方塊控制項。 如果允許多重選取,則無法針對任何控制項使用 Depends On。 不建議將此方法用於處理 Microsoft Dataverse 中的選項。

Depends On 不支援靜態資料或集合。 若要使用這些來源來設定相依的下拉式清單,請直接在公式列中編輯運算式。 此外,Power Apps 不支援在 SharePoint 沒有任何相符資料表格的情況下使用兩個選項欄位,也不能在此 UI 中定義 Matching 欄位。

注意

是否能請您告知您偏好的慣用文件語言? 請填寫問卷。 (請注意,本問卷為英文版)

完成問卷大約需要七分鐘。 本問卷將不會收集個人資料 (隱私權聲明)。