了解 SharePoint 窗体集成

您现在可以在 Power Apps 中轻松自定义任何 Microsoft Lists 或 SharePoint 库窗体。 在本文中,我们将详细演示这些窗体的工作原理,以及如何对其自定义。

如果您已自定义列表窗体,则可能已经注意到默认生成的窗体适用于所有操作,如创建、显示或编辑项。 此操作是借助生成的公式和 SharePointIntegration 控件来实现的。

了解默认生成的窗体

默认生成的窗体包含以下控件及其相应默认值:

  • FormScreen1 - 这是包含窗体的屏幕

  • SharePointForm1 - 这是用于创建、显示或编辑列表项的窗体

    • Data Source - 已为其自定义窗体的列表。

    • Item - 从列表中选定的项。 在 Power Apps Studio 中工作时,为方便起见,这在列表中将设置为 First() 项。

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

      提示

      上述公式模式(使用 ... SharePointDatasourceName.Selected)适用于窗体的项目属性。 有关设置 SharePoint 记录值的公式模式,请参阅下面一节

  • OnSuccess - 一旦成功创建或保存项,则将重置窗体并且 SharePoint 会隐藏窗体。

    ResetForm(SharePointForm1); RequestHide()
    
  • SharePointIntegration - 负责在 SharePoint 和 Power Apps 之间沟通用户操作的控件。

    • Data Source - 已为其自定义窗体的列表。

      '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。

了解 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 - 列表中选定项的项 ID。

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 生命周期事件(如选择更改)可能在后台触发,即使窗体不可见。

另请参见

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。