了解 SharePoint 表單整合

現在您可以在 Power Apps 中輕鬆自訂任何 Microsoft Lists 或 SharePoint 程式庫表單。 在本文中,我們將逐步說明這些表單的運作方式,以及如何自訂這些表單的詳細資訊。

如果您已針對清單自訂一個表單,您可能已注意到預設產生的表單適用於所有作業,例如建立、顯示或編輯項目。 這是在所產生的公式和 SharePointIntegration 控制項的協助下完成的。

瞭解預設產生的表單

預設產生的表單是由下列控制項和與其對應的預設值所組成:

  • 表單畫面 1 - 這是包含表單的 screen

  • SharePoint 表單 1 - 這是用於建立、顯示或編輯清單項目的 form

    • 資料來源 - 已自訂表單的清單。

    • 項目 - 從清單中選取的項目。 這已設定為清單中的 First() 項目,方便您在 Power Apps Studio 中使用。

      If( IsBlank(SharePointIntegration.Selected) || IsEmpty(SharePointIntegration.Selected),
          First('*YourListName*'),
          SharePointIntegration.Selected )
      

      提示

      上述公式模式 (使用 ... SharePointDatasourceName.Selected) 適於表單的項目屬性。 請查看下方區段,以在公式模式中設定 SharePoint 記錄值。

  • OnSuccess - 一旦成功建立或儲存項目,此表單就會重設且 SharePoint 會隱藏表單。

    ResetForm(SharePointForm1); RequestHide()
    
  • SharePointIntegration - 負責在 SharePoint 與 Power Apps 之間溝通使用者動作的控制項。

    • 資料來源 - 已自訂表單的清單。

      'YourListName'

    • OnNew - 在新模式中設定SharePoint 表單 1

      NewForm(SharePointForm1)

    • OnView - 在檢視模式中設定 SharePoint 表單 1

      ViewForm(SharePointForm1)

    • OnEdit - 在編輯模式中設定 SharePoint 表單 1

      EditForm(SharePointForm1)

    • OnSave - 將變更提交至 SharePoint 表單 1。 成功提交表單時,系統會執行 SharePointForm1.OnSuccess 公式。

      SubmitForm(SharePointForm1)

    • OnCancel - 將變更重設到 SharePoint 表單 1。 當使用者在中 SharePoint 選擇取消時,SharePoint 將永遠隱藏表單。

      ResetForm(SharePointForm1)

這些預設值可確保表單在 SharePoint 中執行時可正常運作 - 當使用者在 SharePoint 中與表單互動時,預設值會變更 Power Apps 表單模式,並確保變更會提交到 SharePoint。

瞭解 SharePointIntegration 控制項

SharePointIntegration 控制項在 SharePoint 與 Power Apps 之間溝通使用者動作。

SharePoint 整合物件。

注意

您只能在表單於 SharePoint 中執行時才可存取 SharePointIntegration 控制項的屬性,在 Power Apps Studio 中自訂表單時則無法存取。 這些屬性可能無法用於 OnStartOnVisible

SharePointIntegration 控制項具有下列屬性:

Selected - 從清單中選取的項目。

OnNew - 當使用者選取新增按鈕或打開 SharePoint 中的建立專案表單時,要執行的動作。

OnView - 當使用者選取項目按鈕或打開 SharePoint 中的項目細節表單時,要執行的動作。

OnEdit - 當使用者選取編輯所有按鈕或打開 SharePoint 中的編輯項目表單時,要執行的動作。

OnSave - 當使用者在 SharePoint 中選取儲存按鈕時,要執行的動作。

OnCancel - 當使用者在 SharePoint 中選取取消按鈕時,要執行的動作。

SelectedListItemID - 清單中所選項目的項目識別碼。

Data Source – 包含表單將顯示、編輯或建立之記錄的清單。 如果您變更這個屬性,則 SelectedSelectedItemID 屬性可能會停止運作。

自訂預設表單

您現在已更加了解預設產生的表單和 SharePointIntegration 控制項,您可以變更公式以進一步自訂表單。 當您自訂表單時,請記住下列事項:

  • 使用 SharePointIntegration 控制項的 OnSave 公式,自訂當使用者選擇 SharePoint 中的儲存會發生什麼狀況。 如果您有多個表單,請確定只提交您目前使用之表單的變更。

    提示

    針對 OnNewOnViewOnEdit 公式中的某個變數設定不同的值。 您可以在 OnSave 公式中使用此變數來決定要使用的表單。

  • 務必在所有表單的 OnSuccess 公式中包含 RequestHide()。 如果您忘記此事,SharePoint 不知道何時要隱藏表單。 此外,還要避免在呼叫 RequestHide() 後執行重要的程式碼,讓所有程式碼都會在表單仍然可見且能執行邏輯時執行。

  • 您無法控制當使用者在 SharePoint 中選擇取消時是否隱藏表單,所以務必在 SharePointIntegration 控制項的 OnCancel 公式中重設您的表單。

  • SharePointIntegration 控制項的屬性可能無法用於 OnStartOnVisible,那些事件只會在載入清單時執行一次。 您可以使用 OnNewOnViewOnEdit 公式,在表單每次顯示給使用者之前執行邏輯。

SharePointIntegration 物件的一般問題

  • SharepointIntegration.Selected 值設為 OnView 屬性的集合時,不會顯示最新的值。 建議修正此問題的方式是使用 SharepointIntegration.SelectedListItemID,然後對表格進行查詢以取得 selectedRecord。

    例如,對於 OnView 屬性:

    • 而非:

      Set( selectedItem,
          SharePointIntegration.Selected );
      
    • 使用:

      Set( selectedLookupItem,
          LookUp( YourSharepointIntegrationObject, 
                  ID=SharePointIntegration.SelectedListItemID ) );
      
  • 在關閉 Power Apps 表單時,並不會重設收集變數,而且會持續整體工作階段的狀態。 這就是,如果需要重設變數的任何使用案例,請清除 SharePointIntegration 物件的 OnView 屬性中的變數。

  • 不要在 SharePointIntegration 屬性 (例如 OnNewOnView) 中使用命令式函數,例如 Launch() 。 使用的話可能會造成未預期的行為,因為即使表單不可見,SharePointIntegration 生命週期事件 (例如,選擇變更) 也可能在背景觸發。

另請參閱

注意

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

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