共用方式為


了解 SharePoint 表單整合

當您將清單整合到 Power Apps 時,可以自訂 SharePoint 清單的表單。 在本文中,您將瞭解這些表單的運作方式,以及如何自訂它們。

當您為清單自訂表單時,您會看到預設產生的表單適用於所有動作,例如建立、顯示或編輯項目。 此功能使用產生的公式和 SharePointIntegration 控制項。

Note

當您在 SharePoint 中建立或檢視清單時,系統會自動重新導向至 Microsoft Lists。 您始終可以在 Microsoft Lists 和 SharePoint 中找到該列表。 如需詳細資訊,請參閱 Microsoft 365 中的清單是什麼?

瞭解預設產生的表單

預設產生的表單由下列控制項及其對應的預設值組成。 公式在預設值內自動產生。

  • FormScreen1:此畫面包含表單。

  • SharePointForm1:此表單可以建立、顯示或編輯清單項目。

    • 資料來源:表單自訂的清單。 例如,SharePoint 清單可作為資料來源。

    • 項目:從清單中選擇的項目。 此項目在 Power Apps Studio 中預設為清單中的 First() 項目,以方便使用。

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

      小費

      此公式模式使用 ... SharePointDatasourceName.Selected,並適用於表單的 Item 屬性。 請參閱 SharePointIntegration 物件的常見問題,以取得設定 SharePoint 記錄值的公式範例。

  • OnSuccess:成功建立或儲存專案之後,表單會重設,而 SharePoint 會隱藏表單。

    ResetForm(SharePointForm1); RequestHide()
    
  • SharePointIntegration:在 SharePoint 與 Power Apps 之間傳達使用者操作。

    屬性 描述: 範例
    資料來源 表單客製化的清單。 YourListName
    OnNew SharePointForm1 設定為新模式。 NewForm(SharePointForm1)
    OnView SharePointForm1 設定為檢視模式。 ViewForm(SharePointForm1)
    OnEdit SharePointForm1 設定為編輯模式。 EditForm(SharePointForm1)
    OnSave 將變更提交至 SharePointForm1。 當您成功提交表單時,SharePointForm1.OnSuccess 公式將會執行。 SubmitForm(SharePointForm1)
    OnCancel 將變更重設為 SharePointForm1。 當使用者在 SharePoint 中選取取消時,SharePoint 將永遠隱藏表單。 ResetForm(SharePointForm1)

這些預設值確保表單在 SharePoint 中執行時正常運作。 預設值會隨使用者在 SharePoint 中操作而變更 Power Apps 表單模式,並確保變更提交到 SharePoint。

Note

雖然您可以手動將表單從一個環境複製到另一個環境,但 Power Apps 目前沒有自動化方法可將表單從一個環境複製到另一個環境。

瞭解 SharePointIntegration 控制項

SharePointIntegration 控制項在 SharePoint 與 Power Apps 之間傳達使用者操作。

Power Apps 中 SharePoint 整合物件的螢幕擷取畫面。

Note

只有當表單在 SharePoint 中執行時,您才能存取 SharePointIntegration 控制項的屬性,而不是在 Power Apps Studio 中自訂表單時。 這些屬性可能在 OnStartOnVisible 中不可用。

SharePointIntegration 控制項具有下列屬性:

屬性 效果或說明
Selected 從清單中選擇的項目。
OnNew 當使用者選取新增按鈕或開啟 SharePoint 中的建立項目表單時啟動。
OnView 當使用者選取一個項目或開啟 SharePoint 中的項目詳細資訊表單時啟動。
OnEdit 當使用者選取全部編輯按鈕或開啟 SharePoint 中的編輯項目表單時啟動。
OnSave 當使用者選取 SharePoint 中的儲存按鈕時啟動。
OnCancel 當使用者選取 SharePoint 中的取消按鈕時啟動。
SelectedListItemID 清單中選定項目的項目 ID。
資料來源 包含表單顯示、編輯或建立的記錄的清單。 如果變更此屬性,SelectedSelectedItemID 屬性可能會停止運作。

自訂預設表單

您可以變更公式來進一步自訂資料表。

自訂表單時請考慮以下策略:

  • 使用 SharePointIntegration 控制項的 OnSave 公式來自訂使用者在 SharePoint 中選取儲存的效果 如果您有多個表單,請確定只提交您目前使用之表單的變更。

    小費

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

  • 在所有表單的 OnSuccess 公式中包含 RequestHide()。 若無此功能,SharePoint 無法判斷何時隱藏表單。 避免在呼叫 RequestHide()執行重要程式碼。 程式碼應該在表單仍然可見且能夠執行邏輯時執行。

  • 無法控制使用者在 SharePoint 中選取取消時表單的隱藏。 始終在 SharePointIntegration 控制項的 OnCancel 公式中重設表單。

  • SharePointIntegration 控制項的屬性可能在 OnStartOnVisible 中不可用。 這些事件僅在清單載入時執行一次。 您可以使用 OnNewOnViewOnEdit,在向使用者顯示表單之前執行邏輯。

SharePointIntegration 物件的一般問題

  • 當您在 SharepointIntegration.Selected 屬性上將值設定為集合時,它不會顯示最新的值。 若要修正此問題,請使用 SharepointIntegration.SelectedListItemID,然後對資料表執行查閱以取得 selectedRecord。

    例如,對於 OnView 屬性:

    • 而非:

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

      Set( selectedLookupItem,
      LookUp( YourSharepointIntegrationObject, 
      ID=SharePointIntegration.SelectedListItemID ) );
      
  • 當您關閉 Power Apps 表單時,集合變數不會重設。 狀態會在整個工作階段中持續。 如果您需要重設變數,請在物件的 SharePointIntegration 屬性中清除變數。

  • 不要在 SharePointIntegration 屬性 (例如 OnNewOnView) 中使用諸如 Launch() 之類的命令式函數。 這種使用可能會導致意外行為,因為即使表單不可見,SharePointIntegration 生命週期事件 (例如選擇變更) 也可以在背景觸發。

瞭解使用者對自訂表單的存取權

您無法手動共用使用 Power Apps 自訂的 SharePoint 表單。 相反地,任何至少具有連結 SharePoint 清單 [ 讀取 ] 或 [受限檢視 ] 存取權的使用者都會繼承表單的存取權。 僅獲得清單中特定項目權限的使用者無法存取自訂表單。