在 Power Apps 中编辑窗体和显示窗体控件【教程+实践记录】

时间:2024-05-22 14:35:51

在 Power Apps 中编辑窗体和显示窗体控件

  •  
  • 目录

    在 Power Apps 中编辑窗体和显示窗体控件

    描述

    选择记录

    创建记录

    保存更改

    实操记录&问题

    成功案例

    失败案例【待解决 在线等】


  • 在数据源中显示、编辑和创建记录。

    描述

    如果添加“显示窗体”控件,则用户可以显示某个记录的所有字段,或者只显示你指定的字段。 如果添加“编辑窗体”控件,则用户可以编辑相应字段、创建记录,以及将所做的更改保存到数据源。

    在 Power Apps 中编辑窗体和显示窗体控件【教程+实践记录】

    如果添加控件,则可对其进行配置,以便显示数据源中的表,然后再配置窗体,以便显示用户在库中选择的具体记录。 也可添加一个或多个按钮控件,以便用户选择其来保存编辑内容、取消编辑内容以及创建记录。 将控件用在一起即可创建完整的解决方案

    选择记录

    不管哪一类型的窗体,均可将其“DataSource”属性设置为一个记录表,并可将窗体的“Item”属性设置为显示该表中的特定记录。 例如,可将窗体的“Item”属性设置为控件的“SelectedItem”属性。 当用户选择库中的某个记录时,同样的记录就会显示在窗体中,只不过该窗体可以显示更多字段。 如果用户返回到库,然后选择另一记录,则库的“SelectedItem”属性会更改。 该更改会更新窗体的“Item”属性,然后窗体就会显示新选择的记录。

    此外,你还可以使用下拉控件设置窗体的“Item”属性,如显示、编辑或添加记录中所述,或者添加 Lookup 或 First 等函数。 例如,可以将Item属性设置为这些公式中的任意一个,以在 Common Data Service 的 "帐户" 实体中显示 Fabrikam 条目:

    First(Accounts)

    Lookup(Accounts, "Fabrikam" in name)

    每个窗体控件包含一个或多个卡片控件。 设置卡片的 DataField 属性即可指定该卡显示的字段以及其他详细信息

    创建记录

    当“编辑窗体”控件处于“编辑”模式时,用户可以更新在窗体的“Item”属性中指定的记录。 “Mode”属性在被查看时会返回“编辑”。

    但是,当“编辑窗体”控件处于“新建”模式时,将会忽略“Item”属性。 窗体不显示现有记录,而是显示数据源的默认值。每个字段中的值都是为窗体配置的默认值。 NewForm 函数可以让窗体切换到该模式。

    例如,可以将按钮的 Text 属性设置为显示“新建”,将其 OnSelect 属性设置为一个公式,其中包括 NewForm 函数。 如果用户选择该按钮,则窗体会切换到“新建”模式,这样用户就可以创建以已知值开头的记录。

    如果 ResetForm 函数或 SubmitForm 函数成功运行,窗体会切换回“编辑”模式。

    • 可以将按钮的 Text 属性设置为显示“取消”,将其 OnSelect 属性设置为一个公式,其中包括 ResetForm 函数。 如果用户选择该按钮,则会丢弃任何正在进行的更改,窗体中的值再次显示为数据源的默认值。
    • 可以将按钮的 Text 属性设置为显示“保存更改”,将其 OnSelect 属性设置为一个公式,其中包括 SubmitForm 函数。 如果用户选择该按钮并更新数据源,窗体中的值会重置为数据源的默认值。

    保存更改

    如果按前一部分所述创建“保存更改”按钮,用户可以创建或更新一个记录,然后选择该按钮将所做的更改保存到数据源。 也可通过配置图像控件或某个其他的控件来执行相同的任务,只要使用 SubmitForm 函数配置该控件即可。 在任何情况下,“Error”、“ErrorKind”、“OnSuccess”和“OnFailure”属性都会提供对结果的反馈。

    当 SubmitForm 函数运行时,会首先验证用户要提交的数据。 如果必填字段不包含某个值,或者另一个值不符合某个其他的约束条件,则会设置“ErrorKind”属性,同时会运行“OnFailure”公式。 可以将“保存更改”按钮或其他控件配置为仅当数据有效时(即仅当窗体的“Valid”属性为“true”时)才允许用户选择它。 请注意,若要重置“Error”和“ErrorKind”属性,用户不仅必须纠正问题,而且必须再次选择“保存更改”按钮(或者如此前所述,选择“取消”按钮丢弃所做的更改)。

    如果数据通过验证,SubmitForm 会将其发送到数据源,这可能需要一段时间,具体取决于网络延迟情况。

    • 如果提交成功,则会清除“Error”属性并将“ErrorKind”属性设置为“ErrorKind.None”,同时会运行“OnSuccess”公式。 如果用户创建了某个记录(即窗体以前为“新建”模式),则窗体会切换到“编辑”模式,以便用户能够编辑新创建的记录或其他记录。
    • 如果提交失败,则“Error”属性会包含数据源提供的用户友好型错误消息,对问题进行说明。 “ErrorKind”属性会根据问题进行相应的设置,同时会运行“OnFailure”公式。

    当两名人员尝试同时更新同一记录时,某些数据源可以检测到这种情况,并将 ErrorKind 设置为 ErrorKind.Conflict,同时会采取补救措施,使用一个用户所做的更改刷新数据源,并重新应用该用户的更改。

  • 实操记录&问题

  • 2020年5月20日:使用SQL server链接,
  • 成功案例

  • 其中一个表自动生成了3个页面,包含一个编辑表单,功能正常:
  • 在 Power Apps 中编辑窗体和显示窗体控件【教程+实践记录】
  •  
  • 失败案例【待解决 在线等】

  • 另一个表,自动生成了2个窗体页面。但是只能查看。检查之后插入了一页新的,虽然选择插入的是编辑窗体,但是在设置字段的相应的控件的时候,并没有出现编辑文本选项,只出现了查看文本,不知道是什么原因?有没有大佬知道的回复一下,谢谢。

  • 在 Power Apps 中编辑窗体和显示窗体控件【教程+实践记录】