Power Apps 开发心得记录

Column ID from Sharepoint Data

数据源为 Sharepoint 时的列名

data source 为 Sharepoint list时,使用 Gallery 控件展示 list 数据时,要注意有时候列名不是 list 上显示的名字。
可以在 Gallery 控件下添加 field 处查看。或者在 Sharepoint 上将 List 数据导出成含schema的格式, 然后在导出文件中查找并使用 StaticName 字段。

<Field DisplayName=\区域\" Format=\"Dropdown\" IsModern=\"TRUE\" MaxLength=\"255\" Name=\"_x533a__x57df_\" Title=\"区域\" Type=\"Text\" ID=\"{8ccd9bb7-749c-48c4-9ad1-97bb041fd2ba}\" StaticName=\"_x533a__x57df_\" />"

Edit Form Mode

Edit Form 模式

Edit form 存在 View, New 和 Edit 的模式。 当通过 Edit form 显示记录详情,并允许用户更新记录的时候,需要注意切换 form 的状态。
注意,有时 Edit form 设置了 New 模式,然后进行预览的时候,会发现 form 区域为空白。这应该是预览本身的 bug,可以将 app 发布 publish 后,进入到相应的 screen 进行查看。

Variable

变量

有3种变量 第一种 Global variables, 该变量 App 下所有的 screen 中都可用,使用 Set(VarName, Value) 修改值。
第二种 Contenxt variables,该变量仅可在定义该变量的 screen 中使用,使用 UpdateContenxt({VarName, value})修改值。在使用 Navigate 进入某个 Screen时 或者 screen的 OnVisible 或控件的 OnSelect,通常可以使用该种方式更新变量。比如,想要实现在删除记录时弹出一个 popup 时,可以将 popup 的 visible 属性设置为一个 context var。
第三种 Collections,它表示的是一个 table 表格,可以使用如下方式创建表格并添加记录:

Collect(TableName, { Item: "Pistachio", Price: 15 }, { Item: "Orange", Price: 20 } )

以上3种变量的类型,可以为 字符串,数字,bool类型,table。

在 Power Apps 的界面中,还有变量名为 Component variables,但似乎就是 Context variable。

Pie Chart

饼图

有若干条记录,想将某列显示为饼图。例如,记录形如:

标题 状态 日期
队列1 开始 01-24-2024
队列2 进行中 01-29-2024

想按状态列的值分为开始和进行中进行统计展示。 那可以给饼图的 chart 的 Items 属性添加如下公式,就可以实现按状态列结果就行统计的效果:

AddColumns(
    GroupBy(
        AddColumns(DataSource,"new_col",状态),
        "new_col","counts"
    ),
    "Number",CountRows(counts)
)

这里需要注意的是 CountRows 后的列名 不需要添加引号
还需要注意的是,当某类数据数量太小的时候, 图上对应部分的数量默认不显示。当鼠标滑过的时候,才会显示数量。

获取使用者信息

User() 代表的了当前使用 power app 的用户。User用户可以获取到 用户名,邮箱,标识id等信息。

layout

布局

为了实现 responsive 的页面设计,在设计 screen 的时候要多用 container,尤其是内置的 horizontal 和 vertical container。它采用了 Flex 的布局方式,对container 和子元素的属性进行设置。

调试

在开发的时候,如果 formula 有问题的话,power app是会检测出并提醒开发者。除此之外,power app 并没有特别好的调试方式。 另外,当使用预览的时候,可以打开 Monitor 工具。这样,在预览界面上会显示用户操作所触发的任何 action,有时候可以通过这些 action 来排查问题。

Comments