power apps中部分语法

发布时间 2023-06-05 10:54:35作者: 风吟雪

Filter 函数查找表中满足公式的记录。 使用 Filter 可查找匹配一个或多个条件的一组记录并丢弃不匹配的记录。

例:Filter(用户表zy,权限.Value="审批人")

LookUp 函数查找表中满足公式的第一条记录。 使用 LookUp 可查找匹配一个或多个条件的单个记录。

例:LookUp(用户表zy,账号 = TextInput1.Text)

Search 函数在表中查找其某个列中包含某个字符串的记录。 字符串可能出现在列中的任何位置;例如,搜索“rob”或“bert”会在包含“Robert”的列中找到匹配项。 搜索不区分大小写。 与 Filter 和 LookUp 不同,Search 函数使用单个字符串而非公式进行匹配。

Filter 和 Search 返回包含与原始表相同的列的表和匹配条件的记录。 LookUp 用公式将记录归约为单个值后,仅返回找到的第一条记录。 如果未找到记录,Filter 和 Search 将返回表,LookUp 将返回空白

 

IsBlank 函数测试空白值或空字符串。

例:IsBlank(DateValue1)

IsBlank 的返回值为布尔值 true 或 false。

要专门测试空白值,请使用 if( Value = Blank()),而不是 IsBlank。

 

If 函数会一直测试一个或多个条件,直到结果为 true 时为止。 

例:If(pw="kejian",UpdateContext({pw:"bukejian"}),UpdateContext({pw:"kejian"}))

例:

If(
IsBlank(DateValue1),
Notify(
"开始时间不能为空!",
NotificationType.Error
),
IsBlank(DateValue2),
Notify(
"结束时间不能为空!",
NotificationType.Error
),
IsBlank(DataCardValue3.Text),
Notify(
"申请理由不能为空!",
NotificationType.Error
),
DateValue2 < DateValue1 Or ((DateValue2=DateValue1) And (Value(HourValue2.Selected.Value) < Value(HourValue1.Selected.Value))) Or ((DateValue2=DateValue1) And (Value(HourValue2.Selected.Value) = Value(HourValue1.Selected.Value)) And (Value(MinuteValue2.Selected.Value) < Value(MinuteValue1.Selected.Value))),
Notify(
"结束时间不能小于开始时间!",
NotificationType.Error
),
SubmitForm(Form);
Notify(
"已提交申请,正在审批中!",
NotificationType.Success
);
NewForm(Form);
);

 

Notify 函数在屏幕顶部向用户显示横幅消息。 通知将一直保留到用户消除它或超时到期(默认为 10 秒)。

例:Notify( "Hello, World", NotificationType.Warning, 4000 )

 

NewForm 函数将 Form 控件的模式更改为 FormMode.New。 在此模式下, Form 控件的 Item 属性的内容会被忽略,而使用窗体的 DataSource 属性的默认值来填充窗体。 如果在窗体处于此模式下时运行 SubmitForm 函数,则将创建(而非更改)记录。

例:NewForm(Form);

 

在 Button 控件的 OnSelect 属性中使用 SubmitForm 函数可将 Form 控件中的任何更改保存到数据源。

例:SubmitForm(Form);

 

Navigate 函数可用于更改所显示的屏幕。

例:Navigate(Screen4,ScreenTransition.CoverRight)

ScreenTransition.Cover 新屏幕将滑入视图,从右向左移动,覆盖当前屏幕。
ScreenTransition.CoverRight 新屏幕将滑入视图,从左向右移动,覆盖当前屏幕。
ScreenTransition.Fade 当前屏幕淡出以显示新屏幕。
ScreenTransition.None(默认) 新屏幕将快速替换当前屏幕。
ScreenTransition.UnCover 盖当屏幕将滑出视图,从右向左移动,呈现新屏幕。
ScreenTransition.UnCoverRight 盖当屏幕将滑出视图,从左向右移动,呈现新屏幕。

可以使用 Navigate 创建或更新新屏幕的上下文变量。 第三个参数是可选的,它可用于传递一条记录,其中包含上下文变量名称(以名称的形式)和上下文变量的新值。 这条记录就是用于 UpdateContext 函数的记录。

例:Navigate(Screen4,ScreenTransition.Fade,{uid:LookUp(用户表zy,账号=TextInput1.Text).ID});

 

Refresh 函数检索数据源的新副本。 这样您就可以看到其他用户进行的更改。

例:Refresh(请假申请表zy)

 

使用 Set 函数设置全局变量的值,全局变量可用于应用的所有屏幕。

例:Set(uid,LookUp(用户表zy,账号 = TextInput1.Text).ID);

使用 UpdateContext 函数创建上下文变量,上下文变量的作用域限于一个屏幕。

例:UpdateContext({loginlog: true});

 

Reset 函数将控件重置为其 Default 属性值。 将放弃任何用户更改。

例:Reset(TextInput1);

 

使用 Remove 函数从数据源中删除特定的一个或多个记录。

例:Remove(用户表zy,ThisItem)

 

使用 UpdateIf 函数可以在一个或多个记录中修改一个或多个值,而这些记录则与一个或多个条件匹配。

例:UpdateIf(用户表zy,ID=updateid,{用户姓名:DataCardValue22.Text,账号:DataCardValue23.Text,密码:DataCardValue24.Text,权限:Dropdown2.Selected,邮箱:DataCardValue26.Text});

 

If(LookUp(用户表zy,ID=uid).权限.Value="审批人",DisplayMode.Edit,DisplayMode.Disabled)

通过if判断可以设置控件的displaymode属性进行启用与禁用

 

Dropdown3.Selected.Value

selected可以获取下拉框中选中的对象,value获取对象的值