使用窗体与 Dataverse 数据交互

已完成

窗体通过将模型驱动窗体定义用作布局模板,支持网页与特定表中的行交互。 与列表类似,窗体是一些数据驱动配置,支持用户添加窗体以便在网站中收集或显示数据,而无需开发人员创建自定义窗体。 可以使用模型驱动窗体定义窗体,然后将其放到网站上的网页中。

窗体可以显示大多数列类型和子网格、选项列类型(请参阅为 Power Pages 配置选项列)和代码组件(请参阅在 Power Pages 中使用代码组件)。

带有子网格的只读窗体的屏幕截图。

常见用途

下表介绍了可使用窗体的常见应用场景。

应用场景 描述
布局 可将窗体设置为一种布局机制在只读模式下使用。 可以将窗体看作显示员工、产品或其他 Microsoft Dataverse 表的信息页面。 例如,您可在 Dataverse 实例中设置一个自定义表,用于描述组织内的空缺职位。 可以为表创建单独的模型驱动窗体,使用 Power Pages 设计工作室创建新的网页,然后在页面中添加窗体组件,而不用制作特殊模板来呈现页面。 在模型驱动应用中就窗体布局发布的任何更改都会自动应用到网页。
信息捕获 在网站上可使用窗体从匿名或经过身份验证的用户获取数据。 例如,联系我们页面可能会显示一个简单的潜在客户窗体,在 Dynamics 365 Sales 中将匿名请求记录为潜在客户。 对于经过身份验证的用户,网站可能会通过调查页面收集客户对产品的反馈,然后整理到自定义产品反馈表中。
记录管理 窗体支持在要在一组相关网页中定义的表中组合使用各种“创建”、“检索”、“更新”和“删除”(CRUD) 操作。 例如,客户可以检索和读取自己的案例以及创建新案例,合作伙伴可以编辑其公司资料,员工可以查看公司分配给自己的资产列表。
Web 应用 在将窗体与列表和子网格以及 JavaScript 扩展的功能结合使用时,开发人员便可利用其构建完整的 Web 应用程序。

创建窗体

创建新窗体时,第一步先要确定您要呈现的窗体。 虽然可以重复使用模型驱动应用中的窗体,但常规做法是设计 Power Pages 专用的模型驱动窗体(模型驱动应用中可能包含,也可能不包含这种窗体)。

Power Pages 设计工作室中一个窗体的屏幕截图。

  • Power Pages 窗体更简洁,提供的信息更少,尤其是在涉及外部受众时。

  • Power Pages 流程与面向员工的模型驱动应用(包括 Dynamics 365 应用)的内部使用是分开的。 专用窗体更易于维护,因为模型驱动应用中的更改需要手动应用到 Power Pages 窗体中,您也因此有机会审查要求并评估其实用性。

  • 所呈现的窗体和列有一定的局限性。 有关详细信息,请参阅关于窗体

  • 客户端业务规则和 JavaScript 是模型驱动窗体的基本组成部分,不会在 Power Pages 网站中运行。 这一点很容易忽略,并且可能带来意想不到的后果。

  • 您在呈现相关行、注释和时间线时,需要明确特别的注意事项,因为并非功能的所有方面均为网站所支持(或需要)。

模式

可以在窗体属性对话框的数据选项卡上选择窗体模式。 窗体模式定义是要将窗体用于生成布局、获取数据还是用于就 Dataverse 行提供完全编辑功能。 对于窗体模式,可选择以下任意选项:

  • 只读 - 在 Power Pages 设计工作室中,此选项称作为只读

  • 插入 - 在设计工作室中,此选项称作创建新记录

  • 编辑 - 在设计工作室中,此选项称作更新现有记录

注意

对于编辑模式下的窗体,如果用户不具有相关行的写入特权,则相应窗体将显示为只读

对于插入模式,无需提供其他信息。 对于只读编辑模式,窗体需要“了解”要显示和更新的表行。 记录源类型设置定义了如何向窗体传递此信息:

  • 查询字符串 - 这是您在设计工作室中创建窗体时的默认设置。 当显示的页面包含窗体时,查询字符串中预计会带有行标识符,比如 https://contoso.powerappsportals.com/contacts/edit/?id=<contact guid>。 通常,当窗体链接至列表时,将会自动执行此设置。 此设置为最常见的设置。

  • 当前门户用户 - 可以在 Power Pages Management 应用中设置此选项。 选择此选项后,窗体会加载当前网站用户行中的信息,而不会使用页面 URL 中的其他信息。 一般来说,此选项用于呈现用户资料窗体。 在此例中,需要将表名列设置为联系人,因为网站用户是通过联系人表表示的。

  • 与当前门户用户相关联的记录 - 可以在 Power Pages Management 应用中设置此选项。 选择此选项可以编辑关联行,例如当前用户的上级单位详细信息。 请务必指定关系名称以标识要编辑的行。 所选表类型必须与表名列中的选择相匹配。 此选项适用于其组织中有多个网站用户的合作伙伴场景。 可以授权部分用户编辑上级单位行。

若要呈现窗体,需要具有窗体名称模式属性信息。

设置窗体

设计工作室还可提供更多配置选项,来控制窗体外观和行为。

窗体属性对话框的屏幕截图,其中选择了“提交时”选项卡。

“窗体”选项卡

窗体选项卡上,可以选择一个、该表的一个窗体以及窗体名称(创建后无法更改)。

“数据”选项卡

数据选项卡上,可以更改窗体模式

“提交时”选项卡

提交时设置可以确定在窗体成功提交后要采取以下哪种操作:

  • 显示一条消息 - 将在提交窗体后显示一条消息。
  • 重定向到页面 - 在窗体提交成功后,自动导航到网页。
  • 重定向到 URL - 重定向到 URL(网站或外部)。

“CAPTCHA”选项卡

CAPTCHA 功能决定了 Captcha 是否应对匿名用户或经过身份验证的用户显示。

“附件”选项卡

附件选项卡上,可以选择用户是否可以上传文件,并且可以指定最大附件大小和文件类型限制。

其他窗体设置

Power Pages Management 应用还提供有关窗体的更多配置设置。 若要在 Power Pages Management 应用中访问窗体,请按照以下步骤操作:

  1. 在 Power Pages 设计工作室中的页面上选择窗体组件。

  2. 选择编辑窗体命令。

  3. 窗体设置对话框中,选择数据选项卡。

  4. 配置标题下选择打开 Power Pages Management 应用

窗体管理元数据的屏幕截图。

窗体中可以包含用户与行交互的操作。 使用更多窗体元数据行可以对每个窗体元素进行详细配置。

窗体结构的示意图和概述。

配置

以下部分介绍了可以使用 Power Pages Management 应用设置窗体的不同方式。

窗体选项

大部分窗体选项支持自定义级联样式表 (CSS) 元素,以更改视觉对象外观。 可以采用多种语言指定文本元素,如标签、消息和工具提示。 例如,提交窗体后的默认消息为“已保存”,但也可以针对每种受支持的网站语言进行自定义。

还有一个窗体选项包含控件验证行为,可用于确定是否将所有列标记为必填项,而不受窗体设置等的影响。

其他设置

更多设置可定义窗体行为的其他方面,比如样式、UI 元素转换等。

提示

有些设置和配置选项是隐藏的。 选中高级设置复选框可显示所有可用选项。

  • 插入时关联当前门户用户 - 此选项可用于跟踪已创建或更新行的网站联系人。 此设置可在网站中创建与 Dataverse 中的创建者修改者对等的项目。 您还可在适当时设置父级关系。 例如,如果创建了新的客户行,您可能想要自动将当前联系人设置为主要联系人。

  • 添加附加文件 - 要添加文件上传控件到窗体,可使用的选项有很多。 配置灵活,且支持多个文件、存储选项、MIME 类型和大小限制(例如,可以将上传的图像限制在 2 MB 以内)。

  • 地理位置 - 可以设置窗体以显示地图控件,从而在地图上将现有位置显示为图钉,或支持用户指定位置。 窗体的地图控件需要其他配置为其指明各个位置列的内容、为这些列分配值或从中检索值。 有关详细信息,请参阅窗体的地理位置配置

启用地理位置的窗体的屏幕截图。

关联的表引用

关联的表引用功能提供了一种将正在创建或更新的当前行与其他目标行关联的方法。 如果多个步骤中涉及多种表类型且希望关联结果行,或者在要关联的行 ID 的查询字符串中传递页面,则此功能很有用。

例如,您可能会设置一个事件页面,用于显示近期网络研讨会的信息。 您希望添加一个报名按钮,引导访客进入报名页面,该页面会显示一个报名表。 您可通过查询字符串传递事件标识符,报名表提交后,可以自动将报名信息与对应事件相关联。

操作

由于窗体涉及单个表行,所以可对此行执行多个操作,比如“更新”、“删除”、“停用”等。 选择其他设置 > 操作按钮配置,可将这些操作设置为在运行时显示为命令按钮。

所有命令均提供选项来重命名其按钮以及变更其在窗体上的位置。

窗体元数据

窗体元数据行支持控制单个窗体元素的外观和行为,包括:

  • 列、部分和选项卡的外观。 此外,还可以定义单列的默认值、验证性能和其他方面。

  • 子网格配置,支持您定义相关行的操作,与表列表操作类似。

  • 注释和时间线部分的行为,以及是否可添加新行。 通常,可使用此选项支持网站用户输入有关行的注释,比如处理中的案例。

向网站添加窗体

窗体定义必要行为,但不包括有关窗体在网站上的呈现方式和位置的信息。 在网站上呈现窗体的方法有两种,分别为:

  • 将窗体显式指定为“创建”、“更新”或“编辑”等列表操作的目标。 在此例中,窗体将呈现在模式弹出窗口中。 在弹出窗口中呈现窗体时存在某些限制。 例如,无法从子网格创建相关行。

  • 在 Power Pages 设计工作室中向一个网页添加窗体组件,就像您对列表所做的一样。 此操作会在网页副本上放置 Liquid 标记以呈现窗体。

    {% entityform name: '<<form name>>' %}
    

由于窗体可以将信息提交回服务器进行处理,因此与列表相比,您对窗体呈现方式的控制较少。